/****************************************************************************
 *
 *   Copyright (c) 2020 Estimation and Control Library (ECL). All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in
 *    the documentation and/or other materials provided with the
 *    distribution.
 * 3. Neither the name ECL nor the names of its contributors may be
 *    used to endorse or promote products derived from this software
 *    without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
 * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 *
 ****************************************************************************/

#include <gtest/gtest.h>
#include <math.h>
#include <mathlib/mathlib.h>

#include <geo_lookup/geo_mag_declination.h>


TEST(GeoLookupTest, declination) {
	EXPECT_NEAR(get_mag_declination_degrees(-50, -180), 31.14639, 0.40062 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -175), 31.35553, 0.39369 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -170), 31.3891, 0.38791 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -165), 31.2957, 0.38307 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -160), 31.11748, 0.37903 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -155), 30.89334, 0.37563 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -150), 30.66007, 0.37277 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -145), 30.45048, 0.37037 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -140), 30.28846, 0.36832 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -135), 30.18257, 0.36657 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -130), 30.12057, 0.36508 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -125), 30.06647, 0.36381 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -120), 29.96131, 0.36279 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -115), 29.72737, 0.36206 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -110), 29.27513, 0.36171 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -105), 28.51237, 0.36186 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -100), 27.3542, 0.36266 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -95), 25.73327, 0.36425 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -90), 23.60924, 0.3668 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -85), 20.97688, 0.37042 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -80), 17.87206, 0.37519 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -75), 14.37476, 0.38117 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -70), 10.60706, 0.38836 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -65), 6.72413, 0.39676 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -60), 2.89749, 0.40635 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -55), -0.70735, 0.41714 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -50), -3.95408, 0.42913 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -45), -6.7539, 0.44229 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -40), -9.07523, 0.45647 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -35), -10.94396, 0.47133 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -30), -12.43618, 0.48636 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -25), -13.66674, 0.50078 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -20), -14.77705, 0.51361 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -15), -15.92325, 0.52374 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -10), -17.26296, 0.53007 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -5), -18.93715, 0.53177 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 0), -21.04709, 0.52846 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 5), -23.63251, 0.52034 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 10), -26.66132, 0.50824 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 15), -30.03758, 0.4934 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 20), -33.62519, 0.47725 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 25), -37.27688, 0.46114 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 30), -40.85746, 0.44617 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 35), -44.25568, 0.43312 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 40), -47.3857, 0.42247 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 45), -50.18239, 0.41443 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 50), -52.59479, 0.4091 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 55), -54.58015, 0.40646 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 60), -56.09913, 0.40653 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 65), -57.11129, 0.40932 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 70), -57.56985, 0.41495 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 75), -57.41497, 0.42362 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 80), -56.56617, 0.43565 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 85), -54.9162, 0.45137 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 90), -52.33084, 0.47103 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 95), -48.6612, 0.49446 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 100), -43.77715, 0.52066 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 105), -37.62808, 0.54729 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 110), -30.32237, 0.57055 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 115), -22.18472, 0.586 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 120), -13.72736, 0.59046 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 125), -5.51516, 0.58358 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 130), 1.99758, 0.56776 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 135), 8.55273, 0.54665 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 140), 14.07313, 0.52358 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 145), 18.59856, 0.50087 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 150), 22.22481, 0.47983 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 155), 25.06515, 0.46106 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 160), 27.23196, 0.44471 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 165), 28.83059, 0.43072 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 170), 29.95819, 0.41887 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 175), 30.70361, 0.40892 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 180), 31.14639, 0.40062 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -180), 26.24035, 0.37405 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -175), 26.55326, 0.37018 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -170), 26.70025, 0.36696 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -165), 26.72091, 0.36427 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -160), 26.64774, 0.36204 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -155), 26.51109, 0.36022 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -150), 26.34322, 0.35876 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -145), 26.17857, 0.35762 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -140), 26.0494, 0.35679 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -135), 25.97847, 0.35625 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -130), 25.97133, 0.35598 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -125), 26.01033, 0.35597 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -120), 26.05121, 0.35623 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -115), 26.02255, 0.35678 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -110), 25.82854, 0.35768 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -105), 25.35616, 0.359 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -100), 24.48718, 0.3609 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -95), 23.11384, 0.36355 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -90), 21.15587, 0.36714 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -85), 18.57625, 0.37184 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -80), 15.39402, 0.37778 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -75), 11.69246, 0.38498 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -70), 7.61952, 0.39343 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -65), 3.37624, 0.40307 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -60), -0.80888, 0.4139 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -55), -4.71566, 0.42596 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -50), -8.16792, 0.43939 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -45), -11.05823, 0.45433 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -40), -13.35568, 0.47084 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -35), -15.09738, 0.4888 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -30), -16.36989, 0.50786 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -25), -17.28902, 0.52735 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -20), -17.98702, 0.54619 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -15), -18.61116, 0.56286 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -10), -19.32815, 0.57547 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -5), -20.31971, 0.5821 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 0), -21.75548, 0.58134 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 5), -23.7467, 0.57281 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 10), -26.30477, 0.55738 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 15), -29.33283, 0.53695 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 20), -32.65676, 0.51394 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 25), -36.07608, 0.49071 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 30), -39.40736, 0.46913 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 35), -42.50518, 0.4504 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 40), -45.26279, 0.43515 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 45), -47.60217, 0.42356 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 50), -49.46288, 0.41554 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 55), -50.79384, 0.41088 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 60), -51.54837, 0.40931 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 65), -51.6808, 0.41058 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 70), -51.14262, 0.41446 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 75), -49.87822, 0.42074 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 80), -47.82303, 0.42915 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 85), -44.91066, 0.43927 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 90), -41.09584, 0.45037 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 95), -36.39376, 0.46127 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 100), -30.92198, 0.47042 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 105), -24.91468, 0.47634 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 110), -18.68345, 0.47816 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 115), -12.53637, 0.47592 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 120), -6.70555, 0.47038 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 125), -1.32363, 0.46258 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 130), 3.55459, 0.45344 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 135), 7.91661, 0.44364 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 140), 11.76644, 0.43367 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 145), 15.11335, 0.42385 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 150), 17.96948, 0.41445 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 155), 20.35087, 0.40566 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 160), 22.27962, 0.39761 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 165), 23.78667, 0.3904 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 170), 24.91374, 0.38409 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 175), 25.71254, 0.37865 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 180), 26.24035, 0.37405 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -180), 22.45177, 0.3546 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -175), 22.79869, 0.35258 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -170), 22.99947, 0.35095 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -165), 23.08752, 0.34964 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -160), 23.08501, 0.34861 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -155), 23.00954, 0.34782 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -150), 22.88189, 0.34728 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -145), 22.72965, 0.34698 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -140), 22.58501, 0.34693 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -135), 22.47803, 0.34717 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -130), 22.42874, 0.34771 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -125), 22.43964, 0.34856 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -120), 22.48897, 0.34973 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -115), 22.52415, 0.35123 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -110), 22.45726, 0.35307 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -105), 22.16632, 0.3553 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -100), 21.50632, 0.35804 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -95), 20.32999, 0.36148 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -90), 18.514, 0.36583 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -85), 15.98497, 0.3713 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -80), 12.74128, 0.37801 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -75), 8.86806, 0.38597 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -70), 4.54053, 0.39507 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -65), 0.00848, 0.40521 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -60), -4.44207, 0.41633 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -55), -8.54225, 0.42856 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -50), -12.09038, 0.44217 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -45), -14.98074, 0.45748 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -40), -17.20444, 0.47476 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -35), -18.82678, 0.49411 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -30), -19.95173, 0.5155 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -25), -20.68776, 0.53861 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -20), -21.13047, 0.56269 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -15), -21.37219, 0.58629 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -10), -21.5342, 0.60707 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -5), -21.79733, 0.62189 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 0), -22.39477, 0.62765 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 5), -23.54745, 0.62242 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 10), -25.37077, 0.60635 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 15), -27.81758, 0.58172 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 20), -30.69891, 0.55211 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 25), -33.76071, 0.52129 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 30), -36.76075, 0.4923 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 35), -39.50854, 0.46708 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 40), -41.86834, 0.4465 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 45), -43.74431, 0.43072 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 50), -45.06492, 0.41945 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 55), -45.77355, 0.41217 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 60), -45.825, 0.40831 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 65), -45.18431, 0.40727 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 70), -43.8245, 0.40845 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 75), -41.72398, 0.41125 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 80), -38.8694, 0.41501 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 85), -35.27234, 0.41896 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 90), -31.00182, 0.42217 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 95), -26.21637, 0.42375 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 100), -21.16369, 0.42308 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 105), -16.12713, 0.42017 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 110), -11.3419, 0.4156 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 115), -6.93593, 0.41017 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 120), -2.92882, 0.40457 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 125), 0.72476, 0.3992 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 130), 4.0834, 0.39413 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 135), 7.18568, 0.38931 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 140), 10.04161, 0.38463 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 145), 12.64018, 0.38006 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 150), 14.96088, 0.37558 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 155), 16.98207, 0.37125 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 160), 18.68649, 0.36715 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 165), 20.06714, 0.36337 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 170), 21.13327, 0.35999 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 175), 21.9134, 0.35706 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 180), 22.45177, 0.3546 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -180), 19.40846, 0.33987 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -175), 19.74789, 0.339 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -170), 19.96456, 0.33839 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -165), 20.09045, 0.338 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -160), 20.14004, 0.33779 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -155), 20.11792, 0.33773 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -150), 20.03006, 0.33784 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -145), 19.89142, 0.33812 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -140), 19.72664, 0.33861 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -135), 19.56526, 0.33935 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -130), 19.43519, 0.34039 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -125), 19.35583, 0.34176 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -120), 19.32928, 0.34347 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -115), 19.32813, 0.34552 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -110), 19.28204, 0.34789 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -105), 19.07073, 0.35062 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -100), 18.53147, 0.35381 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -95), 17.48396, 0.35762 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -90), 15.7663, 0.36231 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -85), 13.27244, 0.36808 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -80), 9.98382, 0.37503 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -75), 5.99106, 0.38312 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -70), 1.49899, 0.39215 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -65), -3.19571, 0.40193 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -60), -7.75876, 0.41242 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -55), -11.88981, 0.42383 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -50), -15.38287, 0.43656 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -45), -18.15328, 0.45105 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -40), -20.22767, 0.46765 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -35), -21.7062, 0.48659 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -30), -22.71125, 0.50799 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -25), -23.33964, 0.53189 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -20), -23.63903, 0.55806 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -15), -23.62356, 0.58562 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -10), -23.32856, 0.61254 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -5), -22.88021, 0.63531 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 0), -22.53131, 0.64943 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 5), -22.6112, 0.65099 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 10), -23.3909, 0.63846 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 15), -24.95027, 0.61353 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 20), -27.14824, 0.58038 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 25), -29.70499, 0.54406 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 30), -32.31705, 0.50893 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 35), -34.73098, 0.4779 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 40), -36.76127, 0.45233 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 45), -38.27777, 0.43245 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 50), -39.1895, 0.41782 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 55), -39.43586, 0.40767 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 60), -38.98449, 0.40112 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 65), -37.82944, 0.39729 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 70), -35.98527, 0.39537 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 75), -33.47903, 0.39458 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 80), -30.3504, 0.3942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 85), -26.67029, 0.39353 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 90), -22.5729, 0.39191 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 95), -18.27286, 0.38896 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 100), -14.03393, 0.3847 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 105), -10.09162, 0.3796 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 110), -6.57747, 0.37435 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 115), -3.49549, 0.36953 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 120), -0.75706, 0.36545 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 125), 1.75677, 0.36212 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 130), 4.14088, 0.35939 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 135), 6.43976, 0.35701 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 140), 8.65071, 0.35479 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 145), 10.74348, 0.35263 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 150), 12.67928, 0.35046 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 155), 14.42007, 0.34832 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 160), 15.9311, 0.34623 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 165), 17.18494, 0.34428 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 170), 18.17012, 0.34253 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 175), 18.89914, 0.34105 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 180), 19.40846, 0.33987 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -180), 16.91903, 0.32857 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -175), 17.22216, 0.32841 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -170), 17.42458, 0.32847 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -165), 17.56166, 0.3287 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -160), 17.64456, 0.32907 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -155), 17.66752, 0.32955 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -150), 17.62202, 0.33014 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -145), 17.50811, 0.33087 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -140), 17.3382, 0.33175 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -135), 17.13505, 0.33284 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -130), 16.92787, 0.33419 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -125), 16.7474, 0.33582 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -120), 16.61641, 0.33776 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -115), 16.53232, 0.34 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -110), 16.44494, 0.34252 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -105), 16.24062, 0.34533 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -100), 15.74603, 0.34854 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -95), 14.75677, 0.35232 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -90), 13.08293, 0.35692 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -85), 10.59705, 0.36253 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -80), 7.27428, 0.36921 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -75), 3.21843, 0.37681 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -70), -1.33489, 0.38507 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -65), -6.05126, 0.39378 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -60), -10.56766, 0.40296 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -55), -14.57645, 0.41291 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -50), -17.88675, 0.42412 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -45), -20.44281, 0.43708 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -40), -22.30256, 0.45211 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -35), -23.58968, 0.46934 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -30), -24.43343, 0.48886 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -25), -24.9138, 0.51072 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -20), -25.03495, 0.53497 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -15), -24.74456, 0.56127 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -10), -23.99988, 0.5883 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -5), -22.85892, 0.61322 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 0), -21.55086, 0.6316 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 5), -20.46169, 0.63877 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 10), -20.00182, 0.63183 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 15), -20.42181, 0.61119 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 20), -21.70891, 0.5803 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 25), -23.62724, 0.54422 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 30), -25.84067, 0.50784 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 35), -28.02197, 0.47474 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 40), -29.90542, 0.44685 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 45), -31.29632, 0.42469 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 50), -32.06548, 0.40791 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 55), -32.14385, 0.39566 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 60), -31.51797, 0.38697 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 65), -30.21988, 0.38089 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 70), -28.30814, 0.37656 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 75), -25.84712, 0.37329 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 80), -22.90177, 0.37047 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 85), -19.55969, 0.36759 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 90), -15.96802, 0.36421 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 95), -12.34635, 0.36018 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 100), -8.94317, 0.35563 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 105), -5.95097, 0.35101 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 110), -3.43736, 0.34678 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 115), -1.33738, 0.3433 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 120), 0.49649, 0.34067 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 125), 2.22206, 0.33878 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 130), 3.94866, 0.33741 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 135), 5.71324, 0.33634 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 140), 7.4928, 0.33536 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 145), 9.23625, 0.33439 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 150), 10.89135, 0.33339 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 155), 12.41348, 0.33237 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 160), 13.76198, 0.33137 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 165), 14.89907, 0.33042 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 170), 15.79909, 0.3296 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 175), 16.46207, 0.32897 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 180), 16.91903, 0.32857 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -180), 14.88227, 0.32001 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -175), 15.12807, 0.32029 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -170), 15.29017, 0.32076 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -165), 15.41139, 0.3214 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -160), 15.50424, 0.32217 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -155), 15.55693, 0.32305 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -150), 15.5493, 0.32401 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -145), 15.46725, 0.32508 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -140), 15.30954, 0.32627 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -135), 15.08872, 0.32761 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -130), 14.83064, 0.32913 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -125), 14.57204, 0.33088 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -120), 14.35088, 0.33284 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -115), 14.18416, 0.33502 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -110), 14.03774, 0.33738 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -105), 13.80332, 0.33998 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -100), 13.30042, 0.34291 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -95), 12.30977, 0.34637 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -90), 10.62722, 0.35058 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -85), 8.11974, 0.3557 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -80), 4.77044, 0.36169 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -75), 0.70467, 0.36834 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -70), -3.81377, 0.37535 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -65), -8.42837, 0.38252 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -60), -12.77178, 0.38997 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -55), -16.55127, 0.3981 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -50), -19.60069, 0.40745 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -45), -21.88661, 0.41848 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -40), -23.47942, 0.4314 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -35), -24.50375, 0.44617 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -30), -25.0793, 0.46261 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -25), -25.26767, 0.48057 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -20), -25.04817, 0.49994 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -15), -24.3408, 0.52052 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -10), -23.07501, 0.54153 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -5), -21.28074, 0.56111 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 0), -19.16141, 0.57618 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 5), -17.09644, 0.58317 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 10), -15.53968, 0.5795 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 15), -14.8511, 0.56483 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 20), -15.16409, 0.54119 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 25), -16.36296, 0.5121 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 30), -18.15585, 0.48141 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 35), -20.1788, 0.45235 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 40), -22.08147, 0.42696 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 45), -23.58004, 0.40612 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 50), -24.48295, 0.38979 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 55), -24.6979, 0.37738 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 60), -24.2228, 0.3681 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 65), -23.12005, 0.36115 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 70), -21.47802, 0.35585 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 75), -19.37619, 0.35166 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 80), -16.87772, 0.34812 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 85), -14.06001, 0.34485 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 90), -11.06104, 0.34153 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 95), -8.09459, 0.33803 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 100), -5.401, 0.33442 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 105), -3.15511, 0.33101 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 110), -1.39487, 0.32809 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 115), -0.01725, 0.32586 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 120), 1.16361, 0.32434 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 125), 2.33327, 0.32341 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 130), 3.60965, 0.32288 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 135), 5.01792, 0.32254 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 140), 6.51147, 0.32224 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 145), 8.01702, 0.32191 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 150), 9.47065, 0.32154 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 155), 10.82601, 0.32113 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 160), 12.04297, 0.32073 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 165), 13.07925, 0.32036 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 170), 13.89887, 0.32008 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 175), 14.49111, 0.31995 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 180), 14.88227, 0.32001 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -180), 13.24078, 0.31379 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -175), 13.4156, 0.31432 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -170), 13.51635, 0.31505 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -165), 13.59626, 0.31595 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -160), 13.67355, 0.31698 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -155), 13.73501, 0.31812 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -150), 13.75276, 0.31935 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -145), 13.70103, 0.32066 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -140), 13.56587, 0.32205 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -135), 13.3492, 0.32354 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -130), 13.07147, 0.32516 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -125), 12.77168, 0.3269 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -120), 12.49688, 0.32876 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -115), 12.27558, 0.33072 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -110), 12.08131, 0.33278 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -105), 11.80589, 0.33501 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -100), 11.26298, 0.33753 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -95), 10.22742, 0.34054 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -90), 8.49559, 0.34424 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -85), 5.94539, 0.3487 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -80), 2.58127, 0.35379 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -75), -1.44492, 0.35925 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -70), -5.8486, 0.36475 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -65), -10.26986, 0.37018 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -60), -14.35829, 0.37573 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -55), -17.84856, 0.38186 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -50), -20.59684, 0.38913 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -45), -22.57656, 0.39792 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -40), -23.8486, 0.40834 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -35), -24.51888, 0.42016 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -30), -24.68959, 0.43295 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -25), -24.41549, 0.44622 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -20), -23.68539, 0.45958 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -15), -22.44525, 0.4727 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -10), -20.65845, 0.48513 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -5), -18.37715, 0.49592 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 0), -15.78984, 0.50359 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 5), -13.21647, 0.50642 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 10), -11.04246, 0.5031 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 15), -9.61467, 0.49328 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 20), -9.14363, 0.47779 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 25), -9.64866, 0.4584 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 30), -10.95758, 0.43724 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 35), -12.75442, 0.41634 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 40), -14.65906, 0.39726 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 45), -16.31526, 0.38087 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 50), -17.4611, 0.36746 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 55), -17.96371, 0.35682 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 60), -17.81343, 0.34853 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 65), -17.08356, 0.34209 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 70), -15.87261, 0.33704 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 75), -14.25739, 0.33304 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 80), -12.28581, 0.32978 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 85), -10.01607, 0.32697 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 90), -7.57207, 0.32436 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 95), -5.16218, 0.32181 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 100), -3.02738, 0.31935 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 105), -1.34217, 0.31713 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 110), -0.13559, 0.31533 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 115), 0.71612, 0.31408 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 120), 1.42648, 0.31336 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 125), 2.20416, 0.31308 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 130), 3.17425, 0.31307 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 135), 4.34995, 0.31318 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 140), 5.66112, 0.31329 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 145), 7.01259, 0.31335 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 150), 8.32973, 0.31335 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 155), 9.56632, 0.31332 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 160), 10.68543, 0.31327 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 165), 11.64308, 0.31324 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 170), 12.39496, 0.31328 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 175), 12.92036, 0.31345 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 180), 13.24078, 0.31379 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -180), 11.95432, 0.30965 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -175), 12.05363, 0.31035 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -170), 12.0799, 0.31122 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -165), 12.09903, 0.31227 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -160), 12.13861, 0.31345 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -155), 12.18827, 0.31474 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -150), 12.21604, 0.31611 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -145), 12.18712, 0.31754 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -140), 12.07669, 0.31902 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -135), 11.87735, 0.32056 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -130), 11.60461, 0.32215 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -125), 11.29781, 0.3238 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -120), 11.00763, 0.32546 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -115), 10.76527, 0.32715 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -110), 10.54241, 0.32887 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -105), 10.22517, 0.33071 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -100), 9.62282, 0.33283 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -95), 8.51342, 0.33542 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -90), 6.70764, 0.33861 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -85), 4.10811, 0.34239 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -80), 0.74936, 0.34655 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -75), -3.19107, 0.35077 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -70), -7.41941, 0.35476 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -65), -11.58925, 0.35847 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -60), -15.3794, 0.36216 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -55), -18.55257, 0.3663 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -50), -20.9771, 0.37139 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -45), -22.61816, 0.37776 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -40), -23.51407, 0.38543 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -35), -23.74664, 0.39407 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -30), -23.40806, 0.40309 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -25), -22.57021, 0.4118 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -20), -21.27031, 0.41961 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -15), -19.52495, 0.42618 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -10), -17.36704, 0.4313 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -5), -14.88383, 0.43479 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 0), -12.23397, 0.43636 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 5), -9.63837, 0.4356 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 10), -7.35379, 0.43209 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 15), -5.63767, 0.42562 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 20), -4.70296, 0.41637 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 25), -4.66181, 0.40496 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 30), -5.47379, 0.39228 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 35), -6.92929, 0.37932 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 40), -8.69061, 0.36693 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 45), -10.38308, 0.35574 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 50), -11.69759, 0.3461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 55), -12.45893, 0.33808 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 60), -12.63488, 0.33155 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 65), -12.29097, 0.32629 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 70), -11.51962, 0.32209 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 75), -10.38439, 0.31874 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 80), -8.91302, 0.31608 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 85), -7.14248, 0.31391 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 90), -5.18047, 0.31206 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 95), -3.22789, 0.31038 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 100), -1.52724, 0.30887 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 105), -0.25909, 0.3076 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 110), 0.54545, 0.30667 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 115), 1.01927, 0.30613 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 120), 1.3948, 0.30597 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 125), 1.89918, 0.30613 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 130), 2.66397, 0.30648 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 135), 3.69256, 0.30689 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 140), 4.8946, 0.30729 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 145), 6.15576, 0.30762 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 150), 7.39167, 0.30789 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 155), 8.5561, 0.30812 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 160), 9.61507, 0.30832 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 165), 10.52321, 0.30853 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 170), 11.22842, 0.30879 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 175), 11.70008, 0.30914 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 180), 11.95432, 0.30965 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -180), 10.98279, 0.30744 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -175), 11.01365, 0.30824 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -170), 10.96353, 0.3092 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -165), 10.91269, 0.31032 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -160), 10.90143, 0.31156 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -155), 10.92586, 0.3129 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -150), 10.95266, 0.3143 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -145), 10.93965, 0.31572 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -140), 10.85234, 0.31717 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -135), 10.67556, 0.31862 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -130), 10.42128, 0.32008 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -125), 10.12863, 0.32152 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -120), 9.84781, 0.32294 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -115), 9.60525, 0.32431 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -110), 9.36324, 0.32571 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -105), 8.99877, 0.32723 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -100), 8.32002, 0.32904 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -95), 7.11722, 0.3313 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -90), 5.22651, 0.33407 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -85), 2.5842, 0.33726 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -80), -0.7427, 0.34058 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -75), -4.55748, 0.34369 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -70), -8.57006, 0.34634 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -65), -12.4588, 0.34854 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -60), -15.93398, 0.35056 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -55), -18.77911, 0.35287 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -50), -20.86402, 0.35589 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -45), -22.139, 0.35989 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -40), -22.62142, 0.36483 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -35), -22.37943, 0.3704 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -30), -21.51272, 0.37598 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -25), -20.13187, 0.38089 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -20), -18.34305, 0.38458 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -15), -16.24453, 0.38677 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -10), -13.93286, 0.3875 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -5), -11.50875, 0.38702 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 0), -9.07785, 0.38558 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 5), -6.75223, 0.38331 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 10), -4.66082, 0.38014 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 15), -2.96229, 0.37593 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 20), -1.83767, 0.37059 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 25), -1.44363, 0.36423 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 30), -1.83761, 0.35714 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 35), -2.91809, 0.3497 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 40), -4.42508, 0.3423 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 45), -6.0128, 0.33527 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 50), -7.36143, 0.32888 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 55), -8.26941, 0.32328 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 60), -8.68117, 0.3185 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 65), -8.64623, 0.3145 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 70), -8.24302, 0.31122 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 75), -7.51804, 0.30858 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 80), -6.4785, 0.30651 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 85), -5.14016, 0.30489 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 90), -3.59217, 0.30362 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 95), -2.02267, 0.30259 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 100), -0.67015, 0.30178 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 105), 0.28035, 0.30119 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 110), 0.79141, 0.30087 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 115), 0.99637, 0.30084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 120), 1.13722, 0.30109 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 125), 1.45318, 0.30155 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 130), 2.08089, 0.30215 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 135), 3.01759, 0.3028 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 140), 4.15899, 0.30343 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 145), 5.37658, 0.30401 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 150), 6.57779, 0.30452 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 155), 7.71494, 0.30499 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 160), 8.75473, 0.30542 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 165), 9.64903, 0.30584 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 170), 10.33743, 0.30628 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 175), 10.77883, 0.3068 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 180), 10.98279, 0.30744 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -180), 10.27607, 0.30701 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -175), 10.25956, 0.30791 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -170), 10.14521, 0.30893 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -165), 10.02883, 0.31008 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -160), 9.96644, 0.31132 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -155), 9.96386, 0.31261 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -150), 9.98851, 0.31393 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -145), 9.99121, 0.31524 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -140), 9.92764, 0.31652 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -135), 9.77523, 0.31776 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -130), 9.54314, 0.31897 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -125), 9.27005, 0.32012 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -120), 9.00292, 0.32122 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -115), 8.7589, 0.32229 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -110), 8.48744, 0.3234 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -105), 8.05704, 0.32468 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -100), 7.28012, 0.32629 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -95), 5.96722, 0.32833 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -90), 3.9876, 0.33079 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -85), 1.31483, 0.3335 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -80), -1.95465, 0.33614 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -75), -5.61452, 0.33835 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -70), -9.38899, 0.33992 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -65), -12.98571, 0.3409 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -60), -16.14202, 0.34157 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -55), -18.65376, 0.34233 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -50), -20.38772, 0.34355 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -45), -21.28395, 0.34545 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -40), -21.35247, 0.34801 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -35), -20.66544, 0.35094 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -30), -19.34444, 0.35376 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -25), -17.54308, 0.35593 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -20), -15.42729, 0.35704 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -15), -13.15553, 0.35692 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -10), -10.86065, 0.35574 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -5), -8.63559, 0.35384 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 0), -6.52997, 0.35156 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 5), -4.56603, 0.34913 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 10), -2.77444, 0.34659 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 15), -1.23425, 0.34383 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 20), -0.08755, 0.34071 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 25), 0.49657, 0.33718 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 30), 0.40243, 0.33328 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 35), -0.35063, 0.32911 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 40), -1.57953, 0.32482 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 45), -2.9874, 0.32054 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 50), -4.27005, 0.31645 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 55), -5.21884, 0.31268 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 60), -5.7633, 0.3093 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 65), -5.93847, 0.30635 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 70), -5.80927, 0.30385 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 75), -5.40742, 0.3018 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 80), -4.723, 0.30019 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 85), -3.75269, 0.29897 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 90), -2.5655, 0.2981 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 95), -1.33083, 0.2975 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 100), -0.2749, 0.29715 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 105), 0.41927, 0.29703 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 110), 0.70851, 0.29714 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 115), 0.72048, 0.29746 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 120), 0.69708, 0.29799 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 125), 0.88148, 0.29867 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 130), 1.41322, 0.29948 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 135), 2.28799, 0.30033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 140), 3.39575, 0.30119 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 145), 4.60058, 0.30202 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 150), 5.80391, 0.30281 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 155), 6.95467, 0.30354 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 160), 8.01711, 0.30422 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 165), 8.93807, 0.30488 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 170), 9.64776, 0.30553 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 175), 10.09344, 0.30622 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 180), 10.27607, 0.30701 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -180), 9.76918, 0.30821 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -175), 9.74216, 0.30923 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -170), 9.59208, 0.31033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -165), 9.4304, 0.31148 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -160), 9.3312, 0.31266 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -155), 9.31301, 0.31385 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -150), 9.34574, 0.31501 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -145), 9.37317, 0.3161 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -140), 9.33997, 0.31711 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -135), 9.21495, 0.31804 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -130), 9.00364, 0.3189 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -125), 8.74311, 0.3197 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -120), 8.47535, 0.32045 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -115), 8.20698, 0.32121 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -110), 7.8757, 0.32208 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -105), 7.34595, 0.32319 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -100), 6.44105, 0.32466 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -95), 4.99847, 0.32656 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -90), 2.92464, 0.3288 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -85), 0.22989, 0.33115 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -80), -2.96577, 0.33325 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -75), -6.45502, 0.33477 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -70), -9.98223, 0.33555 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -65), -13.28337, 0.33562 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -60), -16.11725, 0.33524 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -55), -18.28848, 0.33477 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -50), -19.66516, 0.33455 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -45), -20.19014, 0.33477 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -40), -19.88328, 0.33543 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -35), -18.8344, 0.33635 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -30), -17.18899, 0.33719 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -25), -15.12947, 0.33761 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -20), -12.85321, 0.33732 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -15), -10.54634, 0.33625 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -10), -8.35428, 0.33453 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -5), -6.35727, 0.33244 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 0), -4.5647, 0.33026 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 5), -2.9387, 0.32818 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 10), -1.44356, 0.32623 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 15), -0.1003, 0.32437 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 20), 0.9855, 0.32247 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 25), 1.64981, 0.32045 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 30), 1.74801, 0.31827 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 35), 1.24499, 0.31593 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 40), 0.26209, 0.31344 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 45), -0.95355, 0.31085 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 50), -2.12438, 0.30823 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 55), -3.04722, 0.30569 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 60), -3.64545, 0.30331 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 65), -3.94492, 0.30115 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 70), -4.00203, 0.29925 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 75), -3.84001, 0.29764 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 80), -3.43844, 0.29636 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 85), -2.77938, 0.2954 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 90), -1.91203, 0.29477 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 95), -0.98256, 0.29444 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 100), -0.19664, 0.29436 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 105), 0.2731, 0.29453 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 110), 0.38148, 0.29492 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 115), 0.24704, 0.29548 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 120), 0.10284, 0.2962 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 125), 0.18767, 0.29706 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 130), 0.64137, 0.29803 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 135), 1.46283, 0.29909 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 140), 2.54509, 0.30019 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 145), 3.75251, 0.3013 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 150), 4.98331, 0.3024 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 155), 6.18141, 0.30345 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 160), 7.30548, 0.30444 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 165), 8.29519, 0.30539 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 170), 9.07036, 0.30631 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 175), 9.56519, 0.30724 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 180), 9.76918, 0.30821 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -180), 9.38148, 0.31084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -175), 9.39679, 0.31204 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -170), 9.25726, 0.31322 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -165), 9.08779, 0.31438 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -160), 8.98125, 0.31548 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -155), 8.97118, 0.31651 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -150), 9.03194, 0.31744 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -145), 9.10084, 0.31825 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -140), 9.11061, 0.31893 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -135), 9.0195, 0.31949 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -130), 8.82694, 0.31997 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -125), 8.56597, 0.32039 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -120), 8.27234, 0.32079 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -115), 7.94326, 0.32126 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -110), 7.50908, 0.32192 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -105), 6.8368, 0.32289 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -100), 5.76735, 0.32427 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -95), 4.16968, 0.32605 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -90), 1.98862, 0.3281 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -85), -0.73135, 0.33014 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -80), -3.85192, 0.33182 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -75), -7.16926, 0.33283 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -70), -10.44819, 0.33302 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -65), -13.44949, 0.33244 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -60), -15.95115, 0.3313 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -55), -17.77087, 0.32992 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -50), -18.78991, 0.32862 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -45), -18.96946, 0.32758 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -40), -18.35195, 0.32686 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -35), -17.04823, 0.32637 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -30), -15.21773, 0.32591 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -25), -13.04888, 0.32529 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -20), -10.74088, 0.32432 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -15), -8.48116, 0.32296 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -10), -6.415, 0.32128 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -5), -4.61553, 0.31943 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 0), -3.07268, 0.3176 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 5), -1.71621, 0.31592 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 10), -0.46979, 0.31444 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 15), 0.68641, 0.31312 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 20), 1.6789, 0.3119 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 25), 2.35779, 0.3107 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 30), 2.56846, 0.30946 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 35), 2.24276, 0.30812 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 40), 1.45624, 0.30667 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 45), 0.41295, 0.30507 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 50), -0.63794, 0.30338 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 55), -1.50396, 0.30163 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 60), -2.10724, 0.29992 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 65), -2.4688, 0.2983 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 70), -2.64184, 0.29682 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 75), -2.64856, 0.29552 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 80), -2.46623, 0.29446 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 85), -2.06874, 0.29366 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 90), -1.48804, 0.29316 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 95), -0.84483, 0.29295 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 100), -0.31787, 0.29303 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 105), -0.0615, 0.29336 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 110), -0.11763, 0.2939 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 115), -0.37777, 0.29461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 120), -0.62403, 0.29545 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 125), -0.62891, 0.29643 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 130), -0.25454, 0.29755 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 135), 0.50531, 0.2988 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 140), 1.55479, 0.30016 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 145), 2.76574, 0.30157 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 150), 4.0364, 0.30301 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 155), 5.30489, 0.30443 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 160), 6.52206, 0.30581 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 165), 7.61918, 0.30713 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 170), 8.50551, 0.30839 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 175), 9.10131, 0.30963 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 180), 9.38148, 0.31084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -180), 9.02084, 0.31461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -175), 9.14442, 0.31604 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -170), 9.07876, 0.31735 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -165), 8.95667, 0.31852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -160), 8.8873, 0.31953 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -155), 8.91968, 0.32038 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -150), 9.03478, 0.32104 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -145), 9.16563, 0.32154 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -140), 9.23388, 0.32187 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -135), 9.186, 0.32208 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -130), 9.01227, 0.32219 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -125), 8.73836, 0.32226 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -120), 8.39225, 0.32236 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -115), 7.96399, 0.3226 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -110), 7.3821, 0.32309 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -105), 6.52296, 0.32395 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -100), 5.25046, 0.32524 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -95), 3.46746, 0.32689 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -90), 1.15639, 0.32873 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -85), -1.60689, 0.33046 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -80), -4.66814, 0.33176 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -75), -7.82614, 0.33234 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -70), -10.86185, 0.33208 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -65), -13.55749, 0.33102 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -60), -15.7132, 0.32935 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -55), -17.17071, 0.32734 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -50), -17.8396, 0.32529 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -45), -17.71209, 0.32338 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -40), -16.8577, 0.32172 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -35), -15.40215, 0.32031 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -30), -13.50347, 0.31906 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -25), -11.33543, 0.31785 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -20), -9.07827, 0.31658 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -15), -6.90531, 0.3152 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -10), -4.95643, 0.3137 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -5), -3.30473, 0.31216 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 0), -1.93789, 0.31069 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 5), -0.77478, 0.30935 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 10), 0.28186, 0.3082 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 15), 1.27954, 0.30723 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 20), 2.17251, 0.30641 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 25), 2.83007, 0.30567 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 30), 3.09992, 0.30496 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 35), 2.89605, 0.30421 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 40), 2.26105, 0.30336 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 45), 1.3629, 0.30237 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 50), 0.42388, 0.30122 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 55), -0.37571, 0.29998 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 60), -0.95857, 0.29869 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 65), -1.34259, 0.29742 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 70), -1.58107, 0.29621 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 75), -1.70113, 0.29511 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 80), -1.68556, 0.29417 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 85), -1.50731, 0.29345 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 90), -1.18531, 0.29299 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 95), -0.81504, 0.29282 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 100), -0.5447, 0.29295 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 105), -0.50431, 0.29333 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 110), -0.72734, 0.29394 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 115), -1.11401, 0.29471 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 120), -1.46458, 0.29562 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 125), -1.56705, 0.29668 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 130), -1.28696, 0.29791 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 135), -0.60788, 0.29933 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 140), 0.39116, 0.30092 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 145), 1.59506, 0.30264 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 150), 2.9051, 0.30443 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 155), 4.2538, 0.30625 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 160), 5.58331, 0.30804 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 165), 6.81673, 0.30979 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 170), 7.85419, 0.31147 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 175), 8.60284, 0.31308 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 180), 9.02084, 0.31461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -180), 8.59498, 0.31911 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -175), 8.89853, 0.32082 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -170), 8.98258, 0.3223 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -165), 8.97843, 0.32351 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -160), 9.00445, 0.32444 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -155), 9.12232, 0.3251 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -150), 9.32117, 0.32551 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -145), 9.53379, 0.32571 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -140), 9.67454, 0.32574 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -135), 9.67921, 0.32565 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -130), 9.52679, 0.32549 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -125), 9.23205, 0.32532 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -120), 8.81343, 0.32523 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -115), 8.25552, 0.32533 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -110), 7.48977, 0.32573 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -105), 6.40713, 0.32653 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -100), 4.89761, 0.32773 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -95), 2.89824, 0.32923 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -90), 0.4272, 0.33082 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -85), -2.41006, 0.3322 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -80), -5.44225, 0.33307 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -75), -8.46553, 0.33322 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -70), -11.27071, 0.33255 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -65), -13.6597, 0.33111 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -60), -15.46156, 0.32906 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -55), -16.55536, 0.32665 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -50), -16.89227, 0.32412 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -45), -16.50217, 0.32168 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -40), -15.47884, 0.31945 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -35), -13.95249, 0.31748 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -30), -12.066, 0.31577 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -25), -9.96558, 0.31425 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -20), -7.80218, 0.31286 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -15), -5.7282, 0.31153 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -10), -3.87602, 0.31024 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -5), -2.32296, 0.30898 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 0), -1.06539, 0.30779 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 5), -0.02645, 0.30673 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 10), 0.89721, 0.30583 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 15), 1.77012, 0.3051 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 20), 2.57031, 0.30453 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 25), 3.18938, 0.30409 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 30), 3.48619, 0.30371 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 35), 3.36797, 0.30333 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 40), 2.85386, 0.30286 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 45), 2.08095, 0.30223 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 50), 1.24556, 0.30141 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 55), 0.51471, 0.30045 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 60), -0.03561, 0.2994 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 65), -0.4201, 0.29832 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 70), -0.69272, 0.29725 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 75), -0.88847, 0.29625 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 80), -1.00125, 0.29536 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 85), -1.0095, 0.29465 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 90), -0.92424, 0.29418 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 95), -0.81791, 0.29399 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 100), -0.80719, 0.29409 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 105), -0.99424, 0.29446 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 110), -1.39968, 0.29505 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 115), -1.92949, 0.29581 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 120), -2.40158, 0.29673 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 125), -2.62051, 0.29782 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 130), -2.45578, 0.29911 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 135), -1.87975, 0.30064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 140), -0.95216, 0.30241 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 145), 0.22786, 0.30438 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 150), 1.56672, 0.30648 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 155), 2.99213, 0.30867 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 160), 4.43808, 0.31087 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 165), 5.82121, 0.31306 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 170), 7.03602, 0.31518 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 175), 7.97996, 0.31721 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 180), 8.59498, 0.31911 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -180), 8.03008, 0.32387 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -175), 8.57973, 0.32589 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -170), 8.89221, 0.32757 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -165), 9.0852, 0.32885 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -160), 9.27439, 0.32973 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -155), 9.52704, 0.33023 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -150), 9.83998, 0.33044 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -145), 10.15073, 0.33041 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -140), 10.37289, 0.33024 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -135), 10.4358, 0.32999 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -130), 10.30742, 0.32971 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -125), 9.98932, 0.32948 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -120), 9.48845, 0.32938 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -115), 8.78441, 0.3295 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -110), 7.81404, 0.32996 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -105), 6.48522, 0.33079 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -100), 4.71468, 0.33196 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -95), 2.47201, 0.33332 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -90), -0.19101, 0.33463 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -85), -3.13956, 0.33559 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -80), -6.18159, 0.33596 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -75), -9.10397, 0.33559 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -70), -11.70175, 0.33445 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -65), -13.79691, 0.33263 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -60), -15.25472, 0.33028 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -55), -16.00177, 0.32762 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -50), -16.03775, 0.32485 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -45), -15.43011, 0.32214 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -40), -14.29032, 0.31963 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -35), -12.74387, 0.31738 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -30), -10.91091, 0.31544 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -25), -8.90572, 0.31378 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -20), -6.84802, 0.31236 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -15), -4.86766, 0.31112 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -10), -3.0881, 0.30999 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -5), -1.59163, 0.30897 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 0), -0.38836, 0.30803 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 5), 0.58489, 0.3072 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 10), 1.42648, 0.30651 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 15), 2.20914, 0.30597 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 20), 2.93081, 0.30559 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 25), 3.50751, 0.30536 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 30), 3.81599, 0.30523 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 35), 3.76553, 0.3051 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 40), 3.35897, 0.30488 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 45), 2.70562, 0.30447 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 50), 1.97479, 0.30384 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 55), 1.31749, 0.30301 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 60), 0.80675, 0.30205 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 65), 0.43155, 0.30103 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 70), 0.13879, 0.3 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 75), -0.11404, 0.299 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 80), -0.33412, 0.2981 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 85), -0.50967, 0.29735 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 90), -0.64842, 0.29682 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 95), -0.80321, 0.29656 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 100), -1.0603, 0.29659 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 105), -1.49256, 0.29689 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 110), -2.10425, 0.29741 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 115), -2.80296, 0.2981 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 120), -3.42107, 0.29896 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 125), -3.77813, 0.3 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 130), -3.74772, 0.30127 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 135), -3.292, 0.30283 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 140), -2.45243, 0.30467 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 145), -1.31245, 0.30678 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 150), 0.04001, 0.3091 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 155), 1.52872, 0.31155 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 160), 3.08087, 0.31409 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 165), 4.60955, 0.31665 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 170), 6.00868, 0.31917 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 175), 7.17222, 0.32161 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 180), 8.03008, 0.32387 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -180), 7.29149, 0.32852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -175), 8.13567, 0.33079 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -170), 8.74447, 0.33266 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -165), 9.2101, 0.33403 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -160), 9.63121, 0.33491 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -155), 10.06974, 0.33534 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -150), 10.52687, 0.33544 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -145), 10.94865, 0.33532 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -140), 11.2554, 0.3351 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -135), 11.37665, 0.33488 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -130), 11.27256, 0.33472 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -125), 10.93153, 0.33467 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -120), 10.34784, 0.33481 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -115), 9.49533, 0.33521 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -110), 8.31599, 0.33594 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -105), 6.73387, 0.33699 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -100), 4.69033, 0.33827 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -95), 2.18473, 0.33957 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -90), -0.69939, 0.3406 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -85), -3.79665, 0.34109 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -80), -6.88968, 0.34085 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -75), -9.75049, 0.33982 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -70), -12.17563, 0.33809 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -65), -14.0091, 0.33581 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -60), -15.15708, 0.33316 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -55), -15.59693, 0.33031 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -50), -15.37566, 0.32744 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -45), -14.59264, 0.32466 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -40), -13.36993, 0.32207 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -35), -11.82362, 0.31975 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -30), -10.05063, 0.31775 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -25), -8.13631, 0.31607 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -20), -6.17259, 0.31468 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -15), -4.26808, 0.31354 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -10), -2.5359, 0.31258 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -5), -1.06116, 0.31176 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 0), 0.13193, 0.31106 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 5), 1.08831, 0.31045 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 10), 1.89373, 0.30997 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 15), 2.6218, 0.30962 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 20), 3.28651, 0.30943 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 25), 3.82914, 0.30939 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 30), 4.1496, 0.30945 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 35), 4.1663, 0.30952 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 40), 3.87147, 0.30947 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 45), 3.34811, 0.3092 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 50), 2.7356, 0.30864 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 55), 2.16409, 0.30783 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 60), 1.70016, 0.30684 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 65), 1.3362, 0.30577 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 70), 1.02248, 0.30467 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 75), 0.71203, 0.30361 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 80), 0.38579, 0.30263 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 85), 0.04458, 0.3018 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 90), -0.31912, 0.30119 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 95), -0.74198, 0.30083 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 100), -1.28209, 0.30076 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 105), -1.98284, 0.30094 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 110), -2.82919, 0.30133 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 115), -3.72553, 0.30189 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 120), -4.51387, 0.3026 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 125), -5.02592, 0.3035 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 130), -5.13964, 0.30464 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 135), -4.81002, 0.30609 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 140), -4.0643, 0.30787 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 145), -2.97336, 0.30997 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 150), -1.62074, 0.31233 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 155), -0.08603, 0.31489 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 160), 1.55295, 0.31761 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 165), 3.20894, 0.3204 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 170), 4.78083, 0.32321 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 175), 6.16663, 0.32595 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 180), 7.29149, 0.32852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -180), 6.39775, 0.33285 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -175), 7.55851, 0.33527 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -170), 8.50659, 0.33727 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -165), 9.30087, 0.33874 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -160), 10.01049, 0.33968 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -155), 10.68048, 0.34017 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -150), 11.31029, 0.34032 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -145), 11.85529, 0.34032 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -140), 12.24787, 0.34029 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -135), 12.42427, 0.34036 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -130), 12.34186, 0.34059 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -125), 11.97838, 0.34103 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -120), 11.31585, 0.34173 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -115), 10.32132, 0.34273 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -110), 8.93976, 0.34404 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -105), 7.10819, 0.3456 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -100), 4.7887, 0.34723 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -95), 2.00707, 0.34864 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -90), -1.1225, 0.34947 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -85), -4.40198, 0.34946 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -80), -7.58475, 0.3485 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -75), -10.42524, 0.34665 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -70), -12.72206, 0.34414 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -65), -14.34367, 0.34123 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -60), -15.23783, 0.33817 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -55), -15.42881, 0.3351 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -50), -15.00283, 0.33216 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -45), -14.08214, 0.32939 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -40), -12.79355, 0.32686 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -35), -11.24346, 0.3246 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -30), -9.51081, 0.32266 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -25), -7.65974, 0.32105 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -20), -5.7611, 0.31975 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -15), -3.90527, 0.31875 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -10), -2.19368, 0.31797 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -5), -0.7105, 0.31738 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 0), 0.50895, 0.31693 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 5), 1.49085, 0.31658 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 10), 2.3041, 0.31633 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 15), 3.01748, 0.31621 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 20), 3.65679, 0.31622 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 25), 4.18799, 0.31638 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 30), 4.53729, 0.31662 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 35), 4.6375, 0.31684 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 40), 4.47463, 0.31691 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 45), 4.10603, 0.31669 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 50), 3.63738, 0.31614 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 55), 3.17178, 0.31526 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 60), 2.76419, 0.31416 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 65), 2.40887, 0.31295 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 70), 2.06165, 0.31171 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 75), 1.67557, 0.31052 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 80), 1.2239, 0.30944 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 85), 0.69852, 0.30851 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 90), 0.09142, 0.30779 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 95), -0.62015, 0.30733 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 100), -1.46813, 0.30712 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 105), -2.46644, 0.30715 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 110), -3.57793, 0.30735 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 115), -4.69874, 0.30768 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 120), -5.67541, 0.30812 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 125), -6.34912, 0.30874 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 130), -6.60347, 0.30959 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 135), -6.39109, 0.31077 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 140), -5.73122, 0.3123 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 145), -4.68731, 0.31418 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 150), -3.34081, 0.31639 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 155), -1.77445, 0.31886 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 160), -0.06919, 0.32154 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 165), 1.69022, 0.32437 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 170), 3.41207, 0.32726 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 175), 5.00518, 0.33013 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 180), 6.39775, 0.33285 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -180), 5.41906, 0.33704 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -175), 6.89008, 0.33946 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -170), 8.18633, 0.3415 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -165), 9.33215, 0.34307 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -160), 10.36114, 0.34417 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -155), 11.29341, 0.34488 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -150), 12.12013, 0.34534 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -145), 12.80302, 0.34572 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -140), 13.28727, 0.34619 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -135), 13.51903, 0.34687 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -130), 13.45691, 0.34784 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -125), 13.07144, 0.34914 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -120), 12.33416, 0.3508 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -115), 11.20492, 0.35282 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -110), 9.62912, 0.35515 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -105), 7.55276, 0.35763 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -100), 4.95456, 0.35996 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -95), 1.88404, 0.36174 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -90), -1.51374, 0.36251 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -85), -5.0056, 0.36198 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -80), -8.31323, 0.36014 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -75), -11.17395, 0.35723 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -70), -13.39149, 0.35367 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -65), -14.86082, 0.34989 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -60), -15.5685, 0.34618 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -55), -15.57719, 0.34274 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -50), -15.00089, 0.33962 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -45), -13.97491, 0.33684 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -40), -12.62637, 0.33439 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -35), -11.05443, 0.33225 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -30), -9.32778, 0.33044 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -25), -7.49902, 0.32897 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -20), -5.62592, 0.32783 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -15), -3.78457, 0.32701 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -10), -2.064, 0.32646 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -5), -0.54326, 0.32614 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 0), 0.73604, 0.32599 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 5), 1.78392, 0.32595 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 10), 2.65139, 0.32601 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 15), 3.39838, 0.32616 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 20), 4.05802, 0.32642 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 25), 4.61822, 0.32678 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 30), 5.0317, 0.32719 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 35), 5.24833, 0.32752 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 40), 5.25076, 0.32765 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 45), 5.07136, 0.32744 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 50), 4.7791, 0.32683 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 55), 4.44432, 0.32585 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 60), 4.10467, 0.32461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 65), 3.75322, 0.32323 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 70), 3.35226, 0.32185 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 75), 2.85899, 0.32053 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 80), 2.24453, 0.31934 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 85), 1.49626, 0.31832 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 90), 0.60778, 0.31752 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 95), -0.42977, 0.31694 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 100), -1.62262, 0.31658 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 105), -2.95432, 0.31638 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 110), -4.36237, 0.31628 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 115), -5.72989, 0.31622 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 120), -6.90367, 0.31622 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 125), -7.73317, 0.31635 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 130), -8.1105, 0.31669 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 135), -7.99219, 0.31736 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 140), -7.39681, 0.31841 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 145), -6.38603, 0.31986 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 150), -5.04183, 0.32168 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 155), -3.44968, 0.32382 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 160), -1.69192, 0.32624 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 165), 0.15123, 0.32886 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 170), 1.99967, 0.3316 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 175), 3.77667, 0.33437 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 180), 5.41906, 0.33704 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -180), 4.45604, 0.34175 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -175), 6.20778, 0.34403 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -170), 7.82748, 0.34605 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -165), 9.31026, 0.34775 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -160), 10.65664, 0.34914 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -155), 11.86042, 0.35029 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -150), 12.9002, 0.35135 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -145), 13.73873, 0.35247 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -140), 14.32981, 0.35383 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -135), 14.62756, 0.35555 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -130), 14.59225, 0.35771 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -125), 14.189, 0.36036 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -120), 13.38033, 0.3635 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -115), 12.11875, 0.36711 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -110), 10.34805, 0.37104 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -105), 8.02006, 0.37501 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -100), 5.12767, 0.37856 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -95), 1.74404, 0.38106 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -90), -1.95231, 0.38191 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -85), -5.68946, 0.38079 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -80), -9.15635, 0.37779 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -75), -12.07613, 0.37343 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -70), -14.2623, 0.3684 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -65), -15.63801, 0.36331 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -60), -16.2242, 0.3586 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -55), -16.11238, 0.35445 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -50), -15.43337, 0.35092 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -45), -14.32721, 0.34794 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -40), -12.91842, 0.34545 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -35), -11.30186, 0.34338 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -30), -9.54312, 0.34171 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -25), -7.69196, 0.34041 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -20), -5.80047, 0.33947 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -15), -3.93461, 0.33889 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -10), -2.17111, 0.33864 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -5), -0.58056, 0.33864 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 0), 0.79437, 0.33885 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 5), 1.95204, 0.3392 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 10), 2.92709, 0.33963 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 15), 3.76845, 0.34012 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 20), 4.51176, 0.34066 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 25), 5.16178, 0.34123 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 30), 5.69426, 0.34177 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 35), 6.07521, 0.34218 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 40), 6.28508, 0.34232 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 45), 6.3326, 0.34209 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 50), 6.24962, 0.34144 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 55), 6.07068, 0.3404 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 60), 5.81134, 0.33909 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 65), 5.45926, 0.33766 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 70), 4.98178, 0.33623 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 75), 4.3424, 0.33489 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 80), 3.51492, 0.3337 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 85), 2.48777, 0.33269 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 90), 1.26066, 0.33186 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 95), -0.15837, 0.33119 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 100), -1.74753, 0.33061 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 105), -3.45684, 0.33006 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 110), -5.19428, 0.32946 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 115), -6.8257, 0.32875 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 120), -8.19582, 0.32799 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 125), -9.16348, 0.3273 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 130), -9.63422, 0.32681 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 135), -9.57566, 0.32667 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 140), -9.01297, 0.32695 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 145), -8.01128, 0.32769 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 150), -6.65503, 0.32887 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 155), -5.03177, 0.33043 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 160), -3.2236, 0.33234 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 165), -1.3054, 0.33451 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 170), 0.65403, 0.33687 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 175), 2.59215, 0.33932 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 180), 4.45604, 0.34175 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -180), 3.60393, 0.34825 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -175), 5.59384, 0.35033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -170), 7.48937, 0.35235 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -165), 9.26576, 0.35427 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -160), 10.89924, 0.35613 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -155), 12.36227, 0.358 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -150), 13.6204, 0.36001 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -145), 14.63253, 0.36231 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -140), 15.35412, 0.36506 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -135), 15.74113, 0.36839 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -130), 15.75157, 0.37238 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -125), 15.34323, 0.3771 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -120), 14.46854, 0.38253 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -115), 13.0711, 0.38859 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -110), 11.09067, 0.39503 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -105), 8.48286, 0.40137 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -100), 5.25493, 0.40686 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -95), 1.50791, 0.41055 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -90), -2.53881, 0.41159 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -85), -6.56781, 0.40959 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -80), -10.23375, 0.40487 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -75), -13.25012, 0.39834 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -70), -15.44626, 0.39107 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -65), -16.77573, 0.38397 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -60), -17.29035, 0.3776 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -55), -17.10305, 0.37219 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -50), -16.35361, 0.36776 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -45), -15.18154, 0.36421 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -40), -13.70737, 0.36141 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -35), -12.02387, 0.35922 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -30), -10.1982, 0.35757 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -25), -8.28279, 0.35639 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -20), -6.32911, 0.35566 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -15), -4.39635, 0.35534 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -10), -2.54991, 0.35541 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -5), -0.84996, 0.35579 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 0), 0.66407, 0.35641 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 5), 1.98381, 0.35718 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 10), 3.1306, 0.35802 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 15), 4.1416, 0.35888 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 20), 5.0501, 0.35971 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 25), 5.87032, 0.36048 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 30), 6.5939, 0.36114 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 35), 7.19855, 0.3616 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 40), 7.66194, 0.36177 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 45), 7.97181, 0.36159 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 50), 8.12621, 0.36102 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 55), 8.12489, 0.36013 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 60), 7.95882, 0.35903 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 65), 7.60546, 0.35786 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 70), 7.03279, 0.35673 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 75), 6.20921, 0.35572 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 80), 5.1133, 0.35485 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 85), 3.73944, 0.35411 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 90), 2.09943, 0.35343 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 95), 0.22443, 0.35271 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 100), -1.82925, 0.35184 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 105), -3.97159, 0.35068 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 110), -6.07519, 0.34916 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 115), -7.98506, 0.34731 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 120), -9.54403, 0.34526 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 125), -10.62439, 0.34321 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 130), -11.15184, 0.34139 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 135), -11.11273, 0.33998 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 140), -10.5453, 0.33911 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 145), -9.52214, 0.3388 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 150), -8.13129, 0.33903 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 155), -6.4615, 0.33976 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 160), -4.59349, 0.34091 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 165), -2.59712, 0.34242 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 170), -0.53224, 0.3442 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 175), 1.54956, 0.34618 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 180), 3.60393, 0.34825 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -180), 2.91798, 0.35865 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -175), 5.10229, 0.36059 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -170), 7.21967, 0.36273 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -165), 9.23512, 0.36508 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -160), 11.11135, 0.36768 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -155), 12.80761, 0.37062 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -150), 14.27937, 0.37405 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -145), 15.47912, 0.3781 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -140), 16.35782, 0.38293 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -135), 16.86579, 0.38871 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -130), 16.95199, 0.39553 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -125), 16.56124, 0.40348 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -120), 15.63081, 0.41254 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -115), 14.09017, 0.42254 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -110), 11.87003, 0.43304 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -105), 8.92693, 0.44323 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -100), 5.28504, 0.45185 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -95), 1.08319, 0.45739 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -90), -3.40275, 0.45855 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -85), -7.79602, 0.45494 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -80), -11.71248, 0.44729 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -75), -14.86122, 0.43717 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -70), -17.09589, 0.42625 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -65), -18.40551, 0.41585 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -60), -18.87256, 0.40669 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -55), -18.62805, 0.39905 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -50), -17.81724, 0.39292 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -45), -16.57732, 0.38813 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -40), -15.02482, 0.38448 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -35), -13.25159, 0.38176 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -30), -11.32783, 0.37983 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -25), -9.31029, 0.37857 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -20), -7.2516, 0.3779 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -15), -5.20601, 0.37777 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -10), -3.2288, 0.3781 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -5), -1.36929, 0.37882 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 0), 0.33883, 0.37981 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 5), 1.88441, 0.38097 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 10), 3.27868, 0.3822 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 15), 4.54694, 0.3834 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 20), 5.71543, 0.3845 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 25), 6.79929, 0.38548 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 30), 7.79667, 0.38628 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 35), 8.69025, 0.38688 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 40), 9.45356, 0.38723 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 45), 10.05736, 0.38734 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 50), 10.47257, 0.38724 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 55), 10.66917, 0.38699 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 60), 10.61369, 0.38672 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 65), 10.26848, 0.38652 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 70), 9.59497, 0.38647 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 75), 8.56034, 0.38658 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 80), 7.14551, 0.3868 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 85), 5.35268, 0.38696 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 90), 3.2118, 0.38687 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 95), 0.78655, 0.38626 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 100), -1.82061, 0.38491 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 105), -4.46797, 0.38264 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 110), -6.98412, 0.37945 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 115), -9.19035, 0.37553 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 120), -10.93056, 0.37122 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 125), -12.09747, 0.3669 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 130), -12.64525, 0.36294 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 135), -12.58635, 0.35959 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 140), -11.97741, 0.35698 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 145), -10.90123, 0.35514 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 150), -9.45005, 0.35405 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 155), -7.71307, 0.35362 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 160), -5.76918, 0.35378 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 165), -3.68434, 0.35444 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 170), -1.5126, 0.35552 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 175), 0.70115, 0.35695 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 180), 2.91798, 0.35865 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -180), 2.39533, 0.37639 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -175), 4.73895, 0.37836 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -170), 7.03291, 0.38088 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -165), 9.23921, 0.38398 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -160), 11.31588, 0.38776 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -155), 13.21673, 0.39233 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -150), 14.89154, 0.39786 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -145), 16.28659, 0.40452 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -140), 17.34487, 0.41253 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -135), 18.00534, 0.4221 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -130), 18.201, 0.43341 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -125), 17.85592, 0.4466 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -120), 16.88326, 0.46164 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -115), 15.18806, 0.47825 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -110), 12.68159, 0.49567 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -105), 9.31468, 0.51242 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -100), 5.1315, 0.52627 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -95), 0.32654, 0.5346 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -90), -4.73881, 0.5354 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -85), -9.60214, 0.52838 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -80), -13.83098, 0.51521 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -75), -17.13782, 0.49867 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -70), -19.41481, 0.48146 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -65), -20.69723, 0.46541 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -60), -21.10324, 0.45149 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -55), -20.78336, 0.43997 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -50), -19.88892, 0.43076 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -45), -18.5556, 0.4236 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -40), -16.89683, 0.41816 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -35), -15.00352, 0.41415 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -30), -12.94778, 0.41133 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -25), -10.78903, 0.40951 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -20), -8.57987, 0.40853 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -15), -6.36974, 0.40827 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -10), -4.20483, 0.40861 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -5), -2.12448, 0.40944 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 0), -0.15613, 0.41061 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 5), 1.68827, 0.41199 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 10), 3.412, 0.41346 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 15), 5.02849, 0.41492 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 20), 6.55305, 0.41629 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 25), 7.9942, 0.41754 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 30), 9.34774, 0.41866 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 35), 10.59486, 0.41968 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 40), 11.70387, 0.42066 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 45), 12.63345, 0.42166 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 50), 13.33571, 0.42278 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 55), 13.75813, 0.42415 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 60), 13.84489, 0.42587 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 65), 13.53879, 0.42802 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 70), 12.78525, 0.4306 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 75), 11.53908, 0.4335 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 80), 9.77443, 0.43644 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 85), 7.49724, 0.43898 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 90), 4.75889, 0.44054 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 95), 1.6673, 0.44052 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 100), -1.61072, 0.43844 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 105), -4.86241, 0.43413 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 110), -7.85905, 0.42782 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 115), -10.39488, 0.42012 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 120), -12.32043, 0.4118 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 125), -13.5585, 0.40362 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 130), -14.10097, 0.39613 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 135), -13.99327, 0.38969 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 140), -13.31463, 0.38442 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 145), -12.16006, 0.38032 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 150), -10.62647, 0.37733 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 155), -8.80335, 0.37532 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 160), -6.76787, 0.37417 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 165), -4.58344, 0.37379 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 170), -2.30115, 0.37407 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 175), 0.0372, 0.37495 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 180), 2.39533, 0.37639 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -180), 1.97582, 0.40743 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -175), 4.45718, 0.40974 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -170), 6.89897, 0.41308 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -165), 9.26411, 0.41752 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -160), 11.51113, 0.42321 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -155), 13.5935, 0.43033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -150), 15.45906, 0.43912 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -145), 17.04951, 0.44986 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -140), 18.29916, 0.46289 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -135), 19.13278, 0.47855 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -130), 19.46235, 0.49723 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -125), 19.18349, 0.51918 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -120), 18.17374, 0.54448 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -115), 16.29805, 0.57267 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -110), 13.43028, 0.60237 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -105), 9.50203, 0.63081 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -100), 4.58106, 0.65366 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -95), -1.05085, 0.66602 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -90), -6.89376, 0.6646 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -85), -12.35467, 0.64978 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -80), -16.94218, 0.62549 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -75), -20.39177, 0.59696 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -70), -22.66145, 0.56849 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -65), -23.8528, 0.54267 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -60), -24.13014, 0.5206 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -55), -23.6683, 0.50245 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -50), -22.62713, 0.48791 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -45), -21.14236, 0.47651 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -40), -19.32475, 0.46774 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -35), -17.263, 0.46114 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -30), -15.02833, 0.45635 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -25), -12.67924, 0.45305 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -20), -10.2656, 0.45097 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -15), -7.83109, 0.44992 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -10), -5.41373, 0.4497 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -5), -3.04466, 0.45014 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 0), -0.74632, 0.45108 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 5), 1.46865, 0.45236 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 10), 3.59653, 0.45385 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 15), 5.6393, 0.45546 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 20), 7.59955, 0.45714 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 25), 9.47497, 0.45889 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 30), 11.25375, 0.46076 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 35), 12.91195, 0.46285 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 40), 14.41294, 0.4653 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 45), 15.70824, 0.46828 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 50), 16.73905, 0.47201 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 55), 17.43774, 0.47667 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 60), 17.72929, 0.48244 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 65), 17.53357, 0.48942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 70), 16.76959, 0.49754 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 75), 15.36397, 0.5065 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 80), 13.26583, 0.51563 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 85), 10.46943, 0.52386 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 90), 7.04172, 0.52974 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 95), 3.14486, 0.53177 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 100), -0.96405, 0.52889 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 105), -4.96911, 0.52093 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 110), -8.56054, 0.5088 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 115), -11.49846, 0.4941 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 120), -13.64654, 0.47856 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 125), -14.96911, 0.46359 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 130), -15.50598, 0.4501 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 135), -15.34229, 0.43851 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 140), -14.58373, 0.42895 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 145), -13.33955, 0.42131 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 150), -11.71231, 0.41543 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 155), -9.79241, 0.4111 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 160), -7.65596, 0.40814 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 165), -5.36505, 0.4064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 170), -2.96971, 0.40574 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 175), -0.51093, 0.4061 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 180), 1.97582, 0.40743 + 1);
}

TEST(GeoLookupTest, inclination) {
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -180), -71.61843, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -175), -70.63843, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -170), -69.67331, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -165), -68.72358, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -160), -67.78829, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -155), -66.86497, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -150), -65.94864, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -145), -65.03055, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -140), -64.09722, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -135), -63.13056, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -130), -62.10924, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -125), -61.0114, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -120), -59.81824, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -115), -58.51809, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -110), -57.11093, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -105), -55.61289, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -100), -54.06005, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -95), -52.51074, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -90), -51.0449, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -85), -49.75926, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -80), -48.75751, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -75), -48.13567, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -70), -47.96458, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -65), -48.27385, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -60), -49.04261, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -55), -50.20102, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -50), -51.6428, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -45), -53.24419, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -40), -54.88312, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -35), -56.45313, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -30), -57.87011, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -25), -59.07263, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -20), -60.01877, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -15), -60.68302, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -10), -61.05574, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -5), -61.14599, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 0), -60.98608, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 5), -60.63503, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 10), -60.17768, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 15), -59.71754, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 20), -59.36326, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 25), -59.21191, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 30), -59.33442, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 35), -59.76746, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 40), -60.51343, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 45), -61.54653, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 50), -62.82175, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 55), -64.28427, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 60), -65.87748, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 65), -67.54885, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 70), -69.25319, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 75), -70.95322, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 80), -72.61756, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 85), -74.21715, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 90), -75.72126, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 95), -77.09456, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 100), -78.29661, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 105), -79.2846, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 110), -80.0198, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 115), -80.47656, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 120), -80.65038, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 125), -80.55977, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 130), -80.24014, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 135), -79.73357, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 140), -79.08021, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 145), -78.31421, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 150), -77.46321, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 155), -76.54966, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 160), -75.59242, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 165), -74.60784, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 170), -73.61009, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 175), -72.61076, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 180), -71.61843, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -180), -68.21069, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -175), -67.23458, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -170), -66.26634, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -165), -65.30644, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -160), -64.3547, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -155), -63.41118, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -150), -62.47545, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -145), -61.5446, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -140), -60.61105, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -135), -59.66123, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -130), -58.67571, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -125), -57.63063, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -120), -56.50041, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -115), -55.26192, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -110), -53.90051, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -105), -52.41796, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -100), -50.84116, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -95), -49.22921, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -90), -47.67615, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -85), -46.30663, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -80), -45.2626, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -75), -44.68106, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -70), -44.66574, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -65), -45.26026, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -60), -46.43328, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -55), -48.08322, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -50), -50.06195, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -45), -52.20709, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -40), -54.3705, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -35), -56.43484, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -30), -58.31652, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -25), -59.95847, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -20), -61.31876, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -15), -62.36143, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -10), -63.05482, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -5), -63.37836, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 0), -63.33524, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 5), -62.96491, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 10), -62.35004, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 15), -61.6134, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 20), -60.90269, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 25), -60.36523, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 30), -60.12052, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 35), -60.24091, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 40), -60.74621, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 45), -61.61049, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 50), -62.77562, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 55), -64.16606, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 60), -65.70199, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 65), -67.30905, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 70), -68.9239, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 75), -70.4952, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 80), -71.98067, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 85), -73.34215, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 90), -74.54171, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 95), -75.54191, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 100), -76.31145, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 105), -76.83376, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 110), -77.11316, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 115), -77.17332, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 120), -77.04834, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 125), -76.77194, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 130), -76.37059, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 135), -75.86228, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 140), -75.25882, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 145), -74.56901, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 150), -73.80121, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 155), -72.96488, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 160), -72.07156, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 165), -71.135, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 170), -70.17023, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 175), -69.19164, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 180), -68.21069, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -180), -64.40263, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -175), -63.41475, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -170), -62.42967, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -165), -61.44568, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -160), -60.46074, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -155), -59.47532, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -150), -58.49264, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -145), -57.51632, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -140), -56.54705, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -135), -55.57979, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -130), -54.60206, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -125), -53.59312, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -120), -52.52435, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -115), -51.36182, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -110), -50.07326, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -105), -48.64009, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -100), -47.07295, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -95), -45.42616, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -90), -43.80569, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -85), -42.36585, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -80), -41.29171, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -75), -40.76688, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -70), -40.93101, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -65), -41.83909, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -60), -43.44069, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -55), -45.59174, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -50), -48.0949, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -45), -50.74898, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -40), -53.38688, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -35), -55.89244, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -30), -58.19686, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -25), -60.2616, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -20), -62.05636, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -15), -63.54207, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -10), -64.66609, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -5), -65.37214, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 0), -65.62088, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 5), -65.41256, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 10), -64.80322, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 15), -63.90958, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 20), -62.89938, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 25), -61.96487, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 30), -61.28418, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 35), -60.98502, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 40), -61.12547, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 45), -61.69536, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 50), -62.63206, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 55), -63.84187, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 60), -65.22056, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 65), -66.66963, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 70), -68.10584, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 75), -69.46355, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 80), -70.69093, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 85), -71.74404, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 90), -72.58429, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 95), -73.1829, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 100), -73.53077, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 105), -73.64581, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 110), -73.56998, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 115), -73.35551, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 120), -73.04811, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 125), -72.67605, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 130), -72.2488, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 135), -71.7628, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 140), -71.20955, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 145), -70.58157, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 150), -69.87528, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 155), -69.09189, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 160), -68.23782, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 165), -67.32504, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 170), -66.37004, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 175), -65.3908, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 180), -64.40263, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -180), -60.05352, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -175), -59.03647, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -170), -58.0215, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -165), -57.00304, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -160), -55.97442, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -155), -54.93359, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -150), -53.8851, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -145), -52.83796, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -140), -51.80151, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -135), -50.78129, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -130), -49.7754, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -125), -48.77069, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -120), -47.73928, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -115), -46.63814, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -110), -45.41613, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -105), -44.03089, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -100), -42.47304, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -95), -40.79008, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -90), -39.10076, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -85), -37.59242, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -80), -36.49773, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -75), -36.05018, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -70), -36.42476, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -65), -37.68205, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -60), -39.74294, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -55), -42.41177, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -50), -45.43758, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -45), -48.58121, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -40), -51.66086, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -35), -54.56681, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -30), -57.25058, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -25), -59.69793, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -20), -61.89719, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -15), -63.81462, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -10), -65.3861, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -5), -66.52784, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 0), -67.16214, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 5), -67.2475, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 10), -66.8017, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 15), -65.9125, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 20), -64.73628, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 25), -63.48146, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 30), -62.37207, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 35), -61.59895, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 40), -61.27936, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 45), -61.44142, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 50), -62.03453, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 55), -62.95571, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 60), -64.0802, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 65), -65.28733, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 70), -66.47636, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 75), -67.57044, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 80), -68.51107, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 85), -69.25052, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 90), -69.75052, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 95), -69.99093, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 100), -69.98245, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 105), -69.77109, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 110), -69.42665, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 115), -69.01973, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 120), -68.59978, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 125), -68.18466, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 130), -67.76438, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 135), -67.31402, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 140), -66.80753, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 145), -66.22593, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 150), -65.55889, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 155), -64.80325, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 160), -63.96235, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 165), -63.04695, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 170), -62.07546, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 175), -61.07071, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 180), -60.05352, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -180), -55.00659, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -175), -53.9398, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -170), -52.88119, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -165), -51.82055, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -160), -50.74418, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -155), -49.64431, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -150), -48.52362, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -145), -47.39388, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -140), -46.27146, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -135), -45.17229, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -130), -44.10642, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -125), -43.07074, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -120), -42.04056, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -115), -40.96513, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -110), -39.77454, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -105), -38.40246, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -100), -36.82065, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -95), -35.07318, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -90), -33.29666, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -85), -31.71662, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -80), -30.61617, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -75), -30.27742, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -70), -30.90501, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -65), -32.55677, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -60), -35.11762, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -55), -38.33706, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -50), -41.91086, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -45), -45.56304, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -40), -49.09565, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -35), -52.40079, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -30), -55.44381, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -25), -58.22954, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -20), -60.76394, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -15), -63.02429, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -10), -64.94768, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -5), -66.44083, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 0), -67.40671, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 5), -67.77757, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 10), -67.5411, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 15), -66.75263, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 20), -65.53748, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 25), -64.08653, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 30), -62.63583, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 35), -61.42207, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 40), -60.62577, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 45), -60.3302, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 50), -60.51482, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 55), -61.08074, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 60), -61.89156, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 65), -62.81144, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 70), -63.72851, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 75), -64.55949, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 80), -65.2408, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 85), -65.71816, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 90), -65.94729, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 95), -65.90838, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 100), -65.62377, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 105), -65.16138, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 110), -64.61581, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 115), -64.07543, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 120), -63.59306, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 125), -63.17435, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 130), -62.78693, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 135), -62.3824, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 140), -61.91773, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 145), -61.36586, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 150), -60.71445, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 155), -59.95979, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 160), -59.10389, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 165), -58.15664, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 170), -57.13866, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 175), -56.07901, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 180), -55.00659, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -180), -49.10537, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -175), -47.96327, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -170), -46.8447, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -165), -45.73504, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -160), -44.61177, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -155), -43.45833, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -150), -42.27192, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -145), -41.06363, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -140), -39.85389, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -135), -38.66695, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -130), -37.52376, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -125), -36.43111, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -120), -35.36768, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -115), -34.27526, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -110), -33.06637, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -105), -31.65419, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -100), -29.99819, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -95), -28.14789, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -90), -26.26612, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -85), -24.62097, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -80), -23.54368, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -75), -23.35587, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -70), -24.27964, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -65), -26.3615, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -60), -29.45049, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -55), -33.24857, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -50), -37.40592, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -45), -41.61092, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -40), -45.64188, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -35), -49.37818, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -30), -52.78208, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -25), -55.86345, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -20), -58.6394, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -15), -61.10164, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -10), -63.202, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -5), -64.85913, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 0), -65.98213, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 5), -66.50071, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 10), -66.3899, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 15), -65.6822, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 20), -64.47188, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 25), -62.91833, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 30), -61.24183, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 35), -59.69405, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 40), -58.49959, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 45), -57.79381, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 50), -57.59348, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 55), -57.81409, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 60), -58.31769, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 65), -58.96288, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 70), -59.63494, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 75), -60.24937, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 80), -60.73781, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 85), -61.03473, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 90), -61.08154, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 95), -60.84967, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 100), -60.36601, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 105), -59.71758, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 110), -59.02533, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 115), -58.3989, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 120), -57.89647, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 125), -57.51006, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 130), -57.18097, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 135), -56.83371, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 140), -56.40752, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 145), -55.86987, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 150), -55.21061, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 155), -54.42907, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 160), -53.52756, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 165), -52.5153, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 170), -51.41553, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 175), -50.26544, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 180), -49.10537, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -180), -42.21471, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -175), -40.96642, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -170), -39.76827, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -165), -38.60244, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -160), -37.43635, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -155), -36.24175, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -150), -35.00687, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -145), -33.73846, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -140), -32.45772, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -135), -31.19423, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -130), -29.97713, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -125), -28.82033, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -120), -27.70354, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -115), -26.56028, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -110), -25.28801, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -105), -23.78681, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -100), -22.01536, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -95), -20.04075, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -90), -18.05983, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -85), -16.38203, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -80), -15.37474, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -75), -15.37984, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -70), -16.61972, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -65), -19.12535, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -60), -22.72234, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -55), -27.08591, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -50), -31.83608, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -45), -36.6269, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -40), -41.20026, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -35), -45.40174, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -30), -49.16807, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -25), -52.49682, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -20), -55.40852, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -15), -57.91321, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -10), -59.99203, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -5), -61.59801, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 0), -62.67174, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 5), -63.16253, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 10), -63.04653, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 15), -62.33937, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 20), -61.10737, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 25), -59.48031, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 30), -57.65737, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 35), -55.88832, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 40), -54.41857, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 45), -53.41679, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 50), -52.92803, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 55), -52.88164, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 60), -53.1431, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 65), -53.57311, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 70), -54.06194, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 75), -54.52939, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 80), -54.90377, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 85), -55.10558, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 90), -55.05621, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 95), -54.71167, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 100), -54.09838, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 105), -53.32116, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 110), -52.53, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 115), -51.86014, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 120), -51.37767, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 125), -51.05957, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 130), -50.81656, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 135), -50.54184, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 140), -50.15539, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 145), -49.62072, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 150), -48.93311, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 155), -48.09781, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 160), -47.11884, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 165), -46.00511, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 170), -44.78323, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 175), -43.50107, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 180), -42.21471, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -180), -34.25695, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -175), -32.87016, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -170), -31.57219, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -165), -30.34396, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -160), -29.1422, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -155), -27.92435, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -150), -26.66618, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -145), -25.36686, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -140), -24.04563, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -135), -22.73477, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -130), -21.46824, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -125), -20.26277, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -120), -19.09504, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -115), -17.88921, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -110), -16.53235, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -105), -14.92227, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -100), -13.03081, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -95), -10.95365, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -90), -8.92316, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -85), -7.27838, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -80), -6.39949, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -75), -6.62203, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -70), -8.15209, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -65), -11.00927, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -60), -15.01999, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -55), -19.86375, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -50), -25.15162, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -45), -30.50594, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -40), -35.61877, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -35), -40.28075, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -30), -44.38247, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -25), -47.89467, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -20), -50.83597, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -15), -53.23975, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -10), -55.13061, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -5), -56.51533, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 0), -57.38481, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 5), -57.72097, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 10), -57.50592, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 15), -56.73677, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 20), -55.44915, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 25), -53.74462, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 30), -51.80658, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 35), -49.8847, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 40), -48.23748, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 45), -47.05172, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 50), -46.38555, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 55), -46.1724, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 60), -46.27819, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 65), -46.56812, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 70), -46.94269, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 75), -47.33125, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 80), -47.66207, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 85), -47.84204, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 90), -47.77031, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 95), -47.3836, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 100), -46.70408, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 105), -45.85267, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 110), -45.00968, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 115), -44.33904, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 120), -43.91678, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 125), -43.70397, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 130), -43.57748, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 135), -43.39579, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 140), -43.05777, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 145), -42.52328, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 150), -41.79464, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 155), -40.8847, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 160), -39.80019, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 165), -38.5503, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 170), -37.16628, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 175), -35.70963, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 180), -34.25695, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -180), -25.26425, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -175), -23.71526, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -170), -22.30403, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -165), -21.0129, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -160), -19.78801, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -155), -18.57038, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -150), -17.32012, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -145), -16.02599, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -140), -14.70343, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -135), -13.38583, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -130), -12.10922, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -125), -10.88901, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -120), -9.69517, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -115), -8.44302, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -110), -7.01644, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -105), -5.32337, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -100), -3.36077, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -95), -1.25684, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -90), 0.72976, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -85), 2.25298, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -80), 2.94948, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -75), 2.51545, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -70), 0.77092, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -65), -2.30317, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -60), -6.56093, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -55), -11.71759, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -50), -17.39848, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -45), -23.20217, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -40), -28.76498, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -35), -33.81029, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -30), -38.17077, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -25), -41.78257, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -20), -44.6598, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -15), -46.86201, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -10), -48.46476, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -5), -49.53763, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 0), -50.12874, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 5), -50.25531, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 10), -49.90449, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 15), -49.05175, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 20), -47.6984, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 25), -45.91648, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 30), -43.87691, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 35), -41.8353, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 40), -40.06624, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 45), -38.77044, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 50), -38.00947, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 55), -37.71087, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 60), -37.73433, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 65), -37.94748, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 70), -38.26276, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 75), -38.623, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 80), -38.96063, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 85), -39.17204, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 90), -39.13525, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 95), -38.76663, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 100), -38.08129, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 105), -37.21293, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 110), -36.37009, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 115), -35.745, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 120), -35.42415, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 125), -35.35311, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 130), -35.37464, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 135), -35.31173, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 140), -35.04106, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 145), -34.51774, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 150), -33.75052, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 155), -32.75981, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 160), -31.55554, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 165), -30.14792, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 170), -28.5744, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 175), -26.91278, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 180), -25.26425, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -180), -15.43375, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -175), -13.7222, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -170), -12.2017, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -165), -10.85916, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -160), -9.6317, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -155), -8.44314, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -150), -7.23554, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -145), -5.98494, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -140), -4.70167, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -135), -3.41949, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -130), -2.17497, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -125), -0.97993, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -120), 0.20301, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -115), 1.46343, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -110), 2.91158, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -105), 4.61896, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -100), 6.55864, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -95), 8.57637, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -90), 10.40619, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -85), 11.72174, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -80), 12.20208, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -75), 11.59082, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -70), 9.73589, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -65), 6.6089, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -60), 2.31128, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -55), -2.92772, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -50), -8.76793, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -45), -14.80117, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -40), -20.61901, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -35), -25.88281, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -30), -30.36901, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -25), -33.97822, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -20), -36.71675, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -15), -38.66542, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -10), -39.94561, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -5), -40.68528, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 0), -40.98629, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 5), -40.89886, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 10), -40.41416, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 15), -39.48589, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 20), -38.08084, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 25), -36.24106, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 30), -34.12511, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 35), -31.99576, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 40), -30.14463, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 45), -28.78545, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 50), -27.98022, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 55), -27.64649, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 60), -27.63374, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 65), -27.80907, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 70), -28.09602, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 75), -28.45277, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 80), -28.82038, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 85), -29.09046, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 90), -29.12502, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 95), -28.82262, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 100), -28.18974, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 105), -27.36732, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 110), -26.58461, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 115), -26.05598, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 120), -25.87643, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 125), -25.9786, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 130), -26.17631, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 135), -26.26109, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 140), -26.08826, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 145), -25.60589, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 150), -24.82585, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 155), -23.77404, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 160), -22.4632, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 165), -20.90556, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 170), -19.14587, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 175), -17.27948, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 180), -15.43375, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -180), -5.15005, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -175), -3.31099, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -170), -1.71006, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -165), -0.34211, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -160), 0.86111, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -155), 1.99111, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -150), 3.1241, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -145), 4.29813, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -140), 5.50915, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -135), 6.72391, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -130), 7.9058, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -125), 9.04596, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -120), 10.18554, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -115), 11.41167, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -110), 12.8198, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -105), 14.45572, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -100), 16.26646, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -95), 18.08619, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -90), 19.66305, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -85), 20.71144, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -80), 20.96669, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -75), 20.22395, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -70), 18.35692, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -65), 15.32581, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -60), 11.18839, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -55), 6.11693, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -50), 0.40561, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -45), -5.55466, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -40), -11.34091, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -35), -16.57952, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -30), -21.00771, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -25), -24.49536, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -20), -27.03438, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -15), -28.71236, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -10), -29.67908, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -5), -30.10587, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 0), -30.13893, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 5), -29.85828, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 10), -29.26078, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 15), -28.28249, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 20), -26.85994, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 25), -25.00726, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 30), -22.86891, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 35), -20.70925, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 40), -18.82972, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 45), -17.45178, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 50), -16.63701, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 55), -16.29533, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 60), -16.26798, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 65), -16.42079, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 70), -16.6861, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 75), -17.03701, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 80), -17.42726, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 85), -17.75221, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 90), -17.86801, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 95), -17.66259, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 100), -17.13413, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 105), -16.42275, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 110), -15.76456, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 115), -15.38303, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 120), -15.37655, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 125), -15.67044, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 130), -16.06134, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 135), -16.31992, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 140), -16.28394, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 145), -15.89157, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 150), -15.15203, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 155), -14.09225, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 160), -12.72659, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 165), -11.06986, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 170), -9.17423, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 175), -7.15074, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 180), -5.15005, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -180), 5.07048, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -175), 6.96728, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -170), 8.59784, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -165), 9.95623, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -160), 11.11016, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -155), 12.16096, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -150), 13.20006, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -145), 14.27904, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -140), 15.40134, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -135), 16.53573, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -130), 17.64577, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -125), 18.72277, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -120), 19.80512, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -115), 20.96883, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -110), 22.28819, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -105), 23.78384, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -100), 25.38618, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -95), 26.93344, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -90), 28.2036, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -85), 28.96183, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -80), 29.00161, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -75), 28.16635, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -70), 26.35423, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -65), 23.52123, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -60), 19.69666, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -55), 15.00984, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -50), 9.70844, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -45), 4.14356, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -40), -1.28689, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -35), -6.21631, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -30), -10.37282, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -25), -13.60701, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -20), -15.88996, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -15), -17.29711, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -10), -17.98287, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -5), -18.14043, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 0), -17.94654, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 5), -17.50663, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 10), -16.82701, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 15), -15.83483, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 20), -14.44556, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 25), -12.65023, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 30), -10.57574, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 35), -8.47613, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 40), -6.64713, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 45), -5.30697, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 50), -4.51564, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 55), -4.18228, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 60), -4.1475, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 65), -4.27831, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 70), -4.51295, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 75), -4.83619, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 80), -5.2168, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 85), -5.56394, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 90), -5.74226, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 95), -5.6409, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 100), -5.25241, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 105), -4.70667, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 110), -4.22834, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 115), -4.03206, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 120), -4.21243, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 125), -4.69503, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 130), -5.27645, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 135), -5.72262, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 140), -5.86122, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 145), -5.61827, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 150), -4.9933, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 155), -4.00819, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 160), -2.67653, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 165), -1.01539, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 170), 0.9176, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 175), 3.00147, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 180), 5.07048, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -180), 14.71651, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -175), 16.58261, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -170), 18.18272, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -165), 19.49768, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -160), 20.58757, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -155), 21.55507, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -150), 22.50022, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -145), 23.48529, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -140), 24.52184, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -135), 25.58279, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -130), 26.63248, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -125), 27.65929, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -120), 28.69219, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -115), 29.78915, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -110), 31.0004, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -105), 32.32547, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -100), 33.68781, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -95), 34.94058, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -90), 35.89829, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -85), 36.3766, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -80), 36.22132, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -75), 35.31844, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -70), 33.59199, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -65), 31.00611, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -60), 27.58219, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -55), 23.42609, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -50), 18.74555, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -45), 13.83783, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -40), 9.04275, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -35), 4.67953, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -30), 0.99552, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -25), -1.85838, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -20), -3.83274, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -15), -4.97703, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -10), -5.42796, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -5), -5.37689, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 0), -5.01269, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 5), -4.45822, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 10), -3.73276, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 15), -2.76642, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 20), -1.46714, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 25), 0.18995, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 30), 2.0999, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 35), 4.03451, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 40), 5.72286, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 45), 6.96303, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 50), 7.69782, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 55), 8.01046, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 60), 8.05056, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 65), 7.94514, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 70), 7.75273, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 75), 7.48237, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 80), 7.15116, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 85), 6.82822, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 90), 6.62605, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 95), 6.64078, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 100), 6.8808, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 105), 7.23424, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 110), 7.50485, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 115), 7.50383, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 120), 7.14741, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 125), 6.50262, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 130), 5.75585, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 135), 5.12833, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 140), 4.79253, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 145), 4.83436, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 150), 5.26989, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 155), 6.08838, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 160), 7.28022, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 165), 8.82775, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 170), 10.67206, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 175), 12.69124, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 180), 14.71651, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -180), 23.42693, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -175), 25.17607, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -170), 26.68946, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -165), 27.93464, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -160), 28.95788, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -155), 29.85383, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -150), 30.72241, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -145), 31.63149, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -140), 32.60013, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -135), 33.60737, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -130), 34.61966, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -125), 35.62077, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -120), 36.62613, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -115), 37.67214, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -110), 38.78526, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -105), 39.94862, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -100), 41.08542, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -95), 42.06803, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -90), 42.74639, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -85), 42.97993, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -80), 42.65785, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -75), 41.70312, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -70), 40.06839, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -65), 37.73788, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -60), 34.74235, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -55), 31.17972, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -50), 27.22512, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -45), 23.11709, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -40), 19.12086, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -35), 15.48453, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -30), 12.40691, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -25), 10.0221, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -20), 8.39136, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -15), 7.49397, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -10), 7.22453, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -5), 7.41406, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 0), 7.8817, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 5), 8.49913, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 10), 9.2335, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 15), 10.14049, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 20), 11.30526, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 25), 12.75999, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 30), 14.42468, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 35), 16.11, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 40), 17.58566, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 45), 18.67646, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 50), 19.32916, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 55), 19.61257, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 60), 19.6573, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 65), 19.57892, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 70), 19.43401, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 75), 19.23098, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 80), 18.97674, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 85), 18.71635, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 90), 18.53088, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 95), 18.49175, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 100), 18.60305, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 105), 18.77382, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 110), 18.84542, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 115), 18.66476, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 120), 18.1635, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 125), 17.39746, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 130), 16.52508, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 135), 15.74161, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 140), 15.20994, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 145), 15.02463, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 150), 15.21932, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 155), 15.79815, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 160), 16.75836, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 165), 18.08428, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 170), 19.72083, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 175), 21.55472, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 180), 23.42693, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -180), 31.057, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -175), 32.61935, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -170), 34.00002, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -165), 35.15626, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -160), 36.11734, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -155), 36.96213, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -150), 37.78134, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -145), 38.64181, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -140), 39.56766, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -135), 40.5449, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -130), 41.54367, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -125), 42.54349, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -120), 43.54571, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -115), 44.56542, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -110), 45.60782, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -105), 46.64373, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -100), 47.59917, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -95), 48.365, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -90), 48.8209, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -85), 48.86081, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -80), 48.40812, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -75), 47.41778, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -70), 45.87259, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -65), 43.78401, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -60), 41.20129, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -55), 38.22213, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -50), 34.99383, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -45), 31.69836, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -40), 28.52607, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -35), 25.65055, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -30), 23.2144, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -25), 21.32364, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -20), 20.03976, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -15), 19.36402, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -10), 19.22485, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -5), 19.48754, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 0), 19.99533, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 5), 20.62696, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 10), 21.33912, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 15), 22.16686, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 20), 23.17761, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 25), 24.40284, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 30), 25.78662, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 35), 27.18409, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 40), 28.4134, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 45), 29.33183, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 50), 29.89153, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 55), 30.144, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 60), 30.19554, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 65), 30.14574, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 70), 30.04841, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 75), 29.91453, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 80), 29.74569, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 85), 29.56606, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 90), 29.42484, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 95), 29.36558, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 100), 29.38437, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 105), 29.40884, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 110), 29.31755, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 115), 28.99409, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 120), 28.38679, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 125), 27.54043, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 130), 26.58317, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 135), 25.67902, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 140), 24.97473, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 145), 24.56806, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 150), 24.50757, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 155), 24.81204, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 160), 25.48665, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 165), 26.51985, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 170), 27.8645, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 175), 29.42322, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 180), 31.057, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -180), 37.65099, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -175), 38.97894, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -170), 40.19289, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -165), 41.24567, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -160), 42.15022, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -155), 42.96498, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -150), 43.76398, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -145), 44.60587, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -140), 45.51557, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -135), 46.48493, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -130), 47.48878, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -125), 48.50422, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -120), 49.52096, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -115), 50.53614, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -110), 51.53778, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -105), 52.48778, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -100), 53.3157, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -95), 53.92756, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -90), 54.22569, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -85), 54.12958, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -80), 53.58878, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -75), 52.58537, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -70), 51.13085, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -65), 49.26437, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -60), 47.05428, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -55), 44.59892, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -50), 42.02067, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -45), 39.45209, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -40), 37.01965, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -35), 34.83338, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -30), 32.98551, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -25), 31.55181, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -20), 30.58518, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -15), 30.09866, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -10), 30.04869, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -5), 30.33664, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 0), 30.83765, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 5), 31.44639, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 10), 32.11442, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 15), 32.85581, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 20), 33.71578, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 25), 34.71932, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 30), 35.83023, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 35), 36.94591, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 40), 37.93278, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 45), 38.68195, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 50), 39.15288, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 55), 39.38078, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 60), 39.44646, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 65), 39.43076, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 70), 39.38224, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 75), 39.3145, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 80), 39.22729, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 85), 39.12957, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 90), 39.0442, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 95), 38.98962, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 100), 38.95274, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 105), 38.87489, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 110), 38.66534, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 115), 38.23923, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 120), 37.56042, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 125), 36.66543, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 130), 35.65615, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 135), 34.66701, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 140), 33.82607, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 145), 33.22879, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 150), 32.93283, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 155), 32.96791, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 160), 33.34603, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 165), 34.06038, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 170), 35.07369, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 175), 36.30817, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 180), 37.65099, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -180), 43.37227, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -175), 44.44287, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -170), 45.47018, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -165), 46.40949, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -160), 47.26118, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -155), 48.06248, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -150), 48.86613, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -145), 49.71655, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -140), 50.63419, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -135), 51.61377, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -130), 52.63435, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -125), 53.67266, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -120), 54.71068, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -115), 55.73276, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -110), 56.71472, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -105), 57.61268, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -100), 58.3596, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -95), 58.87304, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -90), 59.07172, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -85), 58.89353, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -80), 58.30786, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -75), 57.31882, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -70), 55.96195, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -65), 54.29876, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -60), 52.41132, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -55), 50.39557, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -50), 48.35177, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -45), 46.37345, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -40), 44.53948, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -35), 42.91347, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -30), 41.54957, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -25), 40.49717, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -20), 39.79642, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -15), 39.46313, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -10), 39.47267, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -5), 39.75701, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 0), 40.22291, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 5), 40.78481, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 10), 41.39441, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 15), 42.04892, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 20), 42.77248, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 25), 43.58119, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 30), 44.4529, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 35), 45.32046, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 40), 46.09307, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 45), 46.6938, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 50), 47.09121, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 55), 47.30746, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 60), 47.3998, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 65), 47.42933, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 70), 47.43629, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 75), 47.43463, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 80), 47.42335, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 85), 47.40147, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 90), 47.37285, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 95), 47.33663, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 100), 47.27157, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 105), 47.12817, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 110), 46.83857, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 115), 46.34269, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 120), 45.61783, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 125), 44.69588, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 130), 43.65893, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 135), 42.61692, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 140), 41.67962, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 145), 40.93577, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 150), 40.44571, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 155), 40.24481, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 160), 40.34928, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 165), 40.75651, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 170), 41.43913, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 175), 42.3393, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 180), 43.37227, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -180), 48.44049, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -175), 49.25711, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -170), 50.09515, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -165), 50.91784, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -160), 51.71811, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -155), 52.51448, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -150), 53.33769, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -145), 54.21458, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -140), 55.15669, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -135), 56.15784, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -130), 57.19956, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -125), 58.25922, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -120), 59.31479, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -115), 60.34302, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -110), 61.31254, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -105), 62.17669, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -100), 62.87196, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -95), 63.32482, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -90), 63.46608, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -85), 63.24735, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -80), 62.65313, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -75), 61.70432, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -70), 60.45365, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -65), 58.97658, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -60), 57.36092, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -55), 55.69633, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -50), 54.06423, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -45), 52.53033, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -40), 51.14234, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -35), 49.93451, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -30), 48.93579, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -25), 48.1755, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -20), 47.68039, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -15), 47.4632, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -10), 47.50957, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -5), 47.77378, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 0), 48.18909, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 5), 48.68934, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 10), 49.23034, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 15), 49.79847, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 20), 50.40141, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 25), 51.04677, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 30), 51.72167, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 35), 52.38607, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 40), 52.98402, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 45), 53.46641, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 50), 53.81173, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 55), 54.03296, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 60), 54.16742, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 65), 54.25709, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 70), 54.3314, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 75), 54.4013, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 80), 54.46414, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 85), 54.51233, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 90), 54.5371, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 95), 54.52438, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 100), 54.44712, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 105), 54.26228, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 110), 53.91882, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 115), 53.37576, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 120), 52.62214, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 125), 51.6884, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 130), 50.64308, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 135), 49.57703, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 140), 48.58329, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 145), 47.74097, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 150), 47.10765, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 155), 46.71946, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 160), 46.59416, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 165), 46.73239, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 170), 47.11571, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 175), 47.70449, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 180), 48.44049, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -180), 53.08734, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -175), 53.67858, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -170), 54.34316, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -165), 55.05461, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -160), 55.80291, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -155), 56.59256, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -150), 57.43534, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -145), 58.34099, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -140), 59.31031, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -135), 60.3333, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -130), 61.39177, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -125), 62.46355, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -120), 63.52487, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -115), 64.54881, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -110), 65.50068, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -105), 66.33358, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -100), 66.98792, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -95), 67.39785, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -90), 67.50411, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -85), 67.26948, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -80), 66.69035, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -75), 65.79939, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -70), 64.65912, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -65), 63.35022, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -60), 61.95879, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -55), 60.56517, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -50), 59.23545, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -45), 58.01715, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -40), 56.94019, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -35), 56.02283, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -30), 55.27938, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -25), 54.7253, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -20), 54.3756, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -15), 54.23721, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -10), 54.29984, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -5), 54.53219, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 0), 54.88736, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 5), 55.31596, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 10), 55.7803, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 15), 56.26181, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 20), 56.75765, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 25), 57.26917, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 30), 57.78946, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 35), 58.29781, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 40), 58.76443, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 45), 59.16239, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 50), 59.47953, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 55), 59.72313, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 60), 59.91488, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 65), 60.07969, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 70), 60.23491, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 75), 60.3854, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 80), 60.52495, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 85), 60.64058, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 90), 60.71515, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 95), 60.72634, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 100), 60.64405, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 105), 60.43085, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 110), 60.04902, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 115), 59.47312, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 120), 58.70291, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 125), 57.76983, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 130), 56.7335, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 135), 55.67001, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 140), 54.65737, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 145), 53.76345, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 150), 53.03951, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 155), 52.51901, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 160), 52.21935, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 165), 52.14364, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 170), 52.28122, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 175), 52.60773, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 180), 53.08734, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -180), 57.51935, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -175), 57.93219, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -170), 58.45331, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -165), 59.06575, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -160), 59.75936, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -155), 60.53001, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -150), 61.37612, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -145), 62.29425, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -140), 63.27584, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -135), 64.30632, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -130), 65.36627, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -125), 66.43333, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -120), 67.4828, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -115), 68.48611, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -110), 69.4075, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -105), 70.20122, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -100), 70.81196, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -95), 71.18101, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -90), 71.2583, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -85), 71.01675, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -80), 70.4625, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -75), 69.63578, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -70), 68.60257, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -65), 67.44169, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -60), 66.23216, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -55), 65.0434, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -50), 63.92923, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -45), 62.92598, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -40), 62.05461, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -35), 61.32607, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -30), 60.74731, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -25), 60.32509, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -20), 60.06547, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -15), 59.96941, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -10), 60.0273, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -5), 60.21648, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 0), 60.50391, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 5), 60.85365, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 10), 61.23553, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 15), 61.63072, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 20), 62.0315, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 25), 62.43589, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 30), 62.84089, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 35), 63.23852, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 40), 63.61677, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 45), 63.96456, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 50), 64.27721, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 55), 64.55876, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 60), 64.8196, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 65), 65.07066, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 70), 65.31749, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 75), 65.55698, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 80), 65.77736, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 85), 65.96022, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 90), 66.08236, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 95), 66.11653, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 100), 66.03204, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 105), 65.79744, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 110), 65.38683, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 115), 64.78849, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 120), 64.01234, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 125), 63.09234, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 130), 62.08215, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 135), 61.04614, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 140), 60.04884, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 145), 59.14655, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 150), 58.38246, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 155), 57.78564, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 160), 57.37217, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 165), 57.14711, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 170), 57.10608, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 175), 57.2365, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 180), 57.51935, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -180), 61.88271, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -175), 62.17016, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -170), 62.58287, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -165), 63.11065, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -160), 63.7446, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -155), 64.47656, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -150), 65.29775, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -145), 66.1972, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -140), 67.1606, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -135), 68.17019, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -130), 69.20539, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -125), 70.24334, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -120), 71.25864, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -115), 72.22176, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -110), 73.09665, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -105), 73.83895, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -100), 74.3973, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -95), 74.71956, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -90), 74.76446, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -85), 74.51463, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -80), 73.98461, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -75), 73.21915, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -70), 72.28321, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -65), 71.24919, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -60), 70.186, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -55), 69.15182, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -50), 68.19052, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -45), 67.33127, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -40), 66.59081, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -35), 65.97736, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -30), 65.49472, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -25), 65.14484, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -20), 64.92797, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -15), 64.84063, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -10), 64.87298, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -5), 65.00762, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 0), 65.22105, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 5), 65.48775, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 10), 65.78514, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 15), 66.09728, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 20), 66.41577, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 25), 66.73788, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 30), 67.06326, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 35), 67.39134, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 40), 67.72059, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 45), 68.04958, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 50), 68.37844, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 55), 68.70936, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 60), 69.04512, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 65), 69.38634, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 70), 69.72855, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 75), 70.06037, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 80), 70.36344, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 85), 70.61354, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 90), 70.78242, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 95), 70.83982, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 100), 70.75616, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 105), 70.50667, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 110), 70.07676, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 115), 69.4674, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 120), 68.69808, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 125), 67.80571, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 130), 66.8397, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 135), 65.85464, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 140), 64.90325, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 145), 64.03085, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 150), 63.27246, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 155), 62.65225, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 160), 62.18461, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 165), 61.87594, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 170), 61.72641, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 175), 61.73137, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 180), 61.88271, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -180), 66.24043, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -175), 66.44852, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -170), 66.78301, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -165), 67.23769, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -160), 67.80511, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -155), 68.47631, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -150), 69.2403, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -145), 70.0837, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -140), 70.99054, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -135), 71.94247, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -130), 72.91898, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -125), 73.89738, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -120), 74.85207, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -115), 75.75306, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -110), 76.56409, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -105), 77.24181, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -100), 77.73775, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -95), 78.00528, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -90), 78.01119, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -85), 77.74737, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -80), 77.23591, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -75), 76.52419, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -70), 75.67352, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -65), 74.74754, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -60), 73.80397, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -55), 72.89007, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -50), 72.04117, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -45), 71.28114, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -40), 70.62424, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -35), 70.07772, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -30), 69.64426, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -25), 69.32369, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -20), 69.11337, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -15), 69.0077, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -10), 68.99726, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -5), 69.06855, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 0), 69.20502, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 5), 69.38925, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 10), 69.60561, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 15), 69.84251, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 20), 70.09341, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 25), 70.35637, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 30), 70.63267, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 35), 70.9252, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 40), 71.23724, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 45), 71.57174, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 50), 71.93092, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 55), 72.31554, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 60), 72.72371, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 65), 73.14939, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 70), 73.58086, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 75), 73.99995, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 80), 74.3821, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 85), 74.6975, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 90), 74.91335, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 95), 74.99725, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 100), 74.92151, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 105), 74.66824, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 110), 74.2336, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 115), 73.63006, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 120), 72.88548, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 125), 72.03929, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 130), 71.13714, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 135), 70.22537, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 140), 69.34648, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 145), 68.53623, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 150), 67.82223, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 155), 67.22403, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 160), 66.75414, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 165), 66.41947, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 170), 66.22278, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 175), 66.16388, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 180), 66.24043, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -180), 70.57351, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -175), 70.73297, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -170), 71.00849, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -165), 71.39574, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -160), 71.88863, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -155), 72.47908, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -150), 73.15689, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -145), 73.90962, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -140), 74.72271, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -135), 75.57956, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -130), 76.46146, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -125), 77.34717, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -120), 78.21204, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -115), 79.02646, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -110), 79.75441, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -105), 80.35307, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -100), 80.77572, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -95), 80.97982, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -90), 80.93928, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -85), 80.65498, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -80), 80.15605, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -75), 79.49131, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -70), 78.71689, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -65), 77.88664, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -60), 77.0469, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -55), 76.23459, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -50), 75.47722, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -45), 74.79381, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -40), 74.19634, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -35), 73.69129, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -30), 73.28105, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -25), 72.96498, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -20), 72.73994, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -15), 72.60042, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -10), 72.53866, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -5), 72.54485, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 0), 72.60798, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 5), 72.71697, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 10), 72.86211, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 15), 73.03622, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 20), 73.23541, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 25), 73.45899, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 30), 73.70897, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 35), 73.98901, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 40), 74.30334, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 45), 74.6557, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 50), 75.04821, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 55), 75.48029, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 60), 75.94749, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 65), 76.44032, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 70), 76.94329, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 75), 77.43422, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 80), 77.88441, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 85), 78.2598, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 90), 78.52376, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 95), 78.64185, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 100), 78.58792, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 105), 78.35001, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 110), 77.93358, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 115), 77.36065, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 120), 76.66544, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 125), 75.8886, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 130), 75.07196, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 135), 74.25461, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 140), 73.4706, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 145), 72.74771, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 150), 72.10736, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 155), 71.56504, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 160), 71.13123, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 165), 70.81251, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 170), 70.61255, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 175), 70.53289, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 180), 70.57351, 0.21 + 1.2);
}

TEST(GeoLookupTest, strength) {
	EXPECT_NEAR(get_mag_strength_tesla(-50, -180) * 1e9, 58525.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -175) * 1e9, 57394.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -170) * 1e9, 56250.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -165) * 1e9, 55101.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -160) * 1e9, 53953.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -155) * 1e9, 52808.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -150) * 1e9, 51666.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -145) * 1e9, 50519.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -140) * 1e9, 49356.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -135) * 1e9, 48162.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -130) * 1e9, 46919.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -125) * 1e9, 45610.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -120) * 1e9, 44222.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -115) * 1e9, 42749, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -110) * 1e9, 41194.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -105) * 1e9, 39572.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -100) * 1e9, 37906.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -95) * 1e9, 36228.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -90) * 1e9, 34580, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -85) * 1e9, 33003.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -80) * 1e9, 31543.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -75) * 1e9, 30239, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -70) * 1e9, 29119.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -65) * 1e9, 28199.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -60) * 1e9, 27479.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -55) * 1e9, 26940.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -50) * 1e9, 26550.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -45) * 1e9, 26271.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -40) * 1e9, 26063.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -35) * 1e9, 25891.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -30) * 1e9, 25731.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -25) * 1e9, 25571.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -20) * 1e9, 25413, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -15) * 1e9, 25268.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -10) * 1e9, 25161.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -5) * 1e9, 25127.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 0) * 1e9, 25207.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 5) * 1e9, 25449.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 10) * 1e9, 25900.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 15) * 1e9, 26600.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 20) * 1e9, 27581, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 25) * 1e9, 28854.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 30) * 1e9, 30417.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 35) * 1e9, 32250.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 40) * 1e9, 34319.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 45) * 1e9, 36582.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 50) * 1e9, 38990.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 55) * 1e9, 41493, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 60) * 1e9, 44041.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 65) * 1e9, 46591.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 70) * 1e9, 49102, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 75) * 1e9, 51537.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 80) * 1e9, 53864, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 85) * 1e9, 56050.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 90) * 1e9, 58066.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 95) * 1e9, 59882.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 100) * 1e9, 61473.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 105) * 1e9, 62819.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 110) * 1e9, 63908.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 115) * 1e9, 64738.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 120) * 1e9, 65312, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 125) * 1e9, 65641.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 130) * 1e9, 65743, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 135) * 1e9, 65634.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 140) * 1e9, 65337.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 145) * 1e9, 64871, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 150) * 1e9, 64256.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 155) * 1e9, 63512.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 160) * 1e9, 62659.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 165) * 1e9, 61715.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 170) * 1e9, 60701, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 175) * 1e9, 59632.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 180) * 1e9, 58525.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -180) * 1e9, 56352.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -175) * 1e9, 55165.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -170) * 1e9, 53969.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -165) * 1e9, 52774.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -160) * 1e9, 51586.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -155) * 1e9, 50408, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -150) * 1e9, 49240, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -145) * 1e9, 48078.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -140) * 1e9, 46911.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -135) * 1e9, 45725.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -130) * 1e9, 44498.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -125) * 1e9, 43212.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -120) * 1e9, 41850.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -115) * 1e9, 40402.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -110) * 1e9, 38867.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -105) * 1e9, 37256.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -100) * 1e9, 35588.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -95) * 1e9, 33898.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -90) * 1e9, 32229, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -85) * 1e9, 30630.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -80) * 1e9, 29158.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -75) * 1e9, 27863.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -70) * 1e9, 26784.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -65) * 1e9, 25945.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -60) * 1e9, 25343.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -55) * 1e9, 24955.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -50) * 1e9, 24737.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -45) * 1e9, 24636.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -40) * 1e9, 24598.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -35) * 1e9, 24579.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -30) * 1e9, 24548.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -25) * 1e9, 24489.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -20) * 1e9, 24400, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -15) * 1e9, 24289.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -10) * 1e9, 24179.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -5) * 1e9, 24103.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 0) * 1e9, 24106.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 5) * 1e9, 24246.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 10) * 1e9, 24585.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 15) * 1e9, 25184.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 20) * 1e9, 26091.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 25) * 1e9, 27334.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 30) * 1e9, 28915.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 35) * 1e9, 30813.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 40) * 1e9, 32987.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 45) * 1e9, 35381.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 50) * 1e9, 37932, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 55) * 1e9, 40573.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 60) * 1e9, 43243.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 65) * 1e9, 45888, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 70) * 1e9, 48462.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 75) * 1e9, 50930.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 80) * 1e9, 53259.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 85) * 1e9, 55421.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 90) * 1e9, 57387.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 95) * 1e9, 59131.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 100) * 1e9, 60631.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 105) * 1e9, 61872.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 110) * 1e9, 62849, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 115) * 1e9, 63563.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 120) * 1e9, 64025.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 125) * 1e9, 64250.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 130) * 1e9, 64257.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 135) * 1e9, 64064.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 140) * 1e9, 63690.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 145) * 1e9, 63154.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 150) * 1e9, 62472.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 155) * 1e9, 61663.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 160) * 1e9, 60744.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 165) * 1e9, 59734.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 170) * 1e9, 58653.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 175) * 1e9, 57520.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 180) * 1e9, 56352.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -180) * 1e9, 53994, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -175) * 1e9, 52777.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -170) * 1e9, 51556.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -165) * 1e9, 50339.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -160) * 1e9, 49129.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -155) * 1e9, 47933.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -150) * 1e9, 46752.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -145) * 1e9, 45584.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -140) * 1e9, 44423.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -135) * 1e9, 43255, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -130) * 1e9, 42062.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -125) * 1e9, 40824.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -120) * 1e9, 39524.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -115) * 1e9, 38148.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -110) * 1e9, 36690.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -105) * 1e9, 35153.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -100) * 1e9, 33551.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -95) * 1e9, 31914.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -90) * 1e9, 30286.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -85) * 1e9, 28721.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -80) * 1e9, 27284.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -75) * 1e9, 26036.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -70) * 1e9, 25029.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -65) * 1e9, 24293, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -60) * 1e9, 23825.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -55) * 1e9, 23595.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -50) * 1e9, 23547.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -45) * 1e9, 23617.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -40) * 1e9, 23743, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -35) * 1e9, 23873.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -30) * 1e9, 23978.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -25) * 1e9, 24040.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -20) * 1e9, 24054.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -15) * 1e9, 24025.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -10) * 1e9, 23963.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -5) * 1e9, 23893.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 0) * 1e9, 23854.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 5) * 1e9, 23905.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 10) * 1e9, 24120.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 15) * 1e9, 24578.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 20) * 1e9, 25351.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 25) * 1e9, 26487.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 30) * 1e9, 28004.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 35) * 1e9, 29887.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 40) * 1e9, 32090.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 45) * 1e9, 34546, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 50) * 1e9, 37175.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 55) * 1e9, 39895.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 60) * 1e9, 42628.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 65) * 1e9, 45309.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 70) * 1e9, 47887.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 75) * 1e9, 50324.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 80) * 1e9, 52589.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 85) * 1e9, 54657.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 90) * 1e9, 56503.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 95) * 1e9, 58105.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 100) * 1e9, 59447.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 105) * 1e9, 60523.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 110) * 1e9, 61338.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 115) * 1e9, 61904.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 120) * 1e9, 62239.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 125) * 1e9, 62361, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 130) * 1e9, 62286.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 135) * 1e9, 62031.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 140) * 1e9, 61609.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 145) * 1e9, 61033.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 150) * 1e9, 60318.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 155) * 1e9, 59477.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 160) * 1e9, 58525.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 165) * 1e9, 57481.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 170) * 1e9, 56363.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 175) * 1e9, 55194.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 180) * 1e9, 53994, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -180) * 1e9, 51479, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -175) * 1e9, 50259.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -170) * 1e9, 49039.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -165) * 1e9, 47824.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -160) * 1e9, 46616.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -155) * 1e9, 45420.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -150) * 1e9, 44241, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -145) * 1e9, 43079.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -140) * 1e9, 41932.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -135) * 1e9, 40793.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -130) * 1e9, 39647.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -125) * 1e9, 38477.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -120) * 1e9, 37268.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -115) * 1e9, 36002.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -110) * 1e9, 34667.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -105) * 1e9, 33258.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -100) * 1e9, 31781.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -95) * 1e9, 30257.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -90) * 1e9, 28726.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -85) * 1e9, 27247.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -80) * 1e9, 25889.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -75) * 1e9, 24724.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -70) * 1e9, 23813.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -65) * 1e9, 23189, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -60) * 1e9, 22850.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -55) * 1e9, 22762, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -50) * 1e9, 22859, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -45) * 1e9, 23069.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -40) * 1e9, 23328.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -35) * 1e9, 23589.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -30) * 1e9, 23826.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -25) * 1e9, 24025.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -20) * 1e9, 24182.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -15) * 1e9, 24292.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -10) * 1e9, 24350.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -5) * 1e9, 24363, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 0) * 1e9, 24353, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 5) * 1e9, 24369.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 10) * 1e9, 24488.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 15) * 1e9, 24801.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 20) * 1e9, 25400.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 25) * 1e9, 26361.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 30) * 1e9, 27725.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 35) * 1e9, 29493, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 40) * 1e9, 31625.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 45) * 1e9, 34050.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 50) * 1e9, 36675.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 55) * 1e9, 39400.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 60) * 1e9, 42131.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 65) * 1e9, 44789.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 70) * 1e9, 47316.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 75) * 1e9, 49671.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 80) * 1e9, 51823.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 85) * 1e9, 53747.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 90) * 1e9, 55420.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 95) * 1e9, 56825.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 100) * 1e9, 57955.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 105) * 1e9, 58818.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 110) * 1e9, 59434.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 115) * 1e9, 59829.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 120) * 1e9, 60028.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 125) * 1e9, 60051.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 130) * 1e9, 59910.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 135) * 1e9, 59612.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 140) * 1e9, 59165.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 145) * 1e9, 58575, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 150) * 1e9, 57851.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 155) * 1e9, 57003.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 160) * 1e9, 56045.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 165) * 1e9, 54992.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 170) * 1e9, 53864.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 175) * 1e9, 52686.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 180) * 1e9, 51479, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -180) * 1e9, 48823.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -175) * 1e9, 47628.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -170) * 1e9, 46436.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -165) * 1e9, 45250.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -160) * 1e9, 44071, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -155) * 1e9, 42900.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -150) * 1e9, 41744, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -145) * 1e9, 40606.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -140) * 1e9, 39491.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -135) * 1e9, 38395.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -130) * 1e9, 37311.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -125) * 1e9, 36227.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -120) * 1e9, 35129.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -115) * 1e9, 34000.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -110) * 1e9, 32822.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -105) * 1e9, 31581.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -100) * 1e9, 30272, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -95) * 1e9, 28906.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -90) * 1e9, 27521.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -85) * 1e9, 26172.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -80) * 1e9, 24934.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -75) * 1e9, 23882, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -70) * 1e9, 23080.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -65) * 1e9, 22565.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -60) * 1e9, 22337.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -55) * 1e9, 22356.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -50) * 1e9, 22557.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -45) * 1e9, 22867.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -40) * 1e9, 23225.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -35) * 1e9, 23594, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -30) * 1e9, 23954.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -25) * 1e9, 24303.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -20) * 1e9, 24633, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -15) * 1e9, 24929.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -10) * 1e9, 25171.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -5) * 1e9, 25340.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 0) * 1e9, 25436.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 5) * 1e9, 25490.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 10) * 1e9, 25569.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 15) * 1e9, 25765, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 20) * 1e9, 26183.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 25) * 1e9, 26922.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 30) * 1e9, 28053, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 35) * 1e9, 29604, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 40) * 1e9, 31555.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 45) * 1e9, 33840.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 50) * 1e9, 36360.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 55) * 1e9, 39002.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 60) * 1e9, 41655.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 65) * 1e9, 44228.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 70) * 1e9, 46654.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 75) * 1e9, 48886.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 80) * 1e9, 50891.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 85) * 1e9, 52641.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 90) * 1e9, 54110.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 95) * 1e9, 55285.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 100) * 1e9, 56169.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 105) * 1e9, 56787.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 110) * 1e9, 57180.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 115) * 1e9, 57392.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 120) * 1e9, 57456.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 125) * 1e9, 57390.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 130) * 1e9, 57196.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 135) * 1e9, 56871.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 140) * 1e9, 56412.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 145) * 1e9, 55821.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 150) * 1e9, 55103.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 155) * 1e9, 54267.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 160) * 1e9, 53323.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 165) * 1e9, 52285.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 170) * 1e9, 51172.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 175) * 1e9, 50010.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 180) * 1e9, 48823.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -180) * 1e9, 46054, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -175) * 1e9, 44912.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -170) * 1e9, 43779.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -165) * 1e9, 42652.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -160) * 1e9, 41532.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -155) * 1e9, 40418.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -150) * 1e9, 39315.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -145) * 1e9, 38232, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -140) * 1e9, 37174.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -135) * 1e9, 36145.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -130) * 1e9, 35143.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -125) * 1e9, 34163, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -120) * 1e9, 33193.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -115) * 1e9, 32219.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -110) * 1e9, 31217.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -105) * 1e9, 30166.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -100) * 1e9, 29051.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -95) * 1e9, 27877, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -90) * 1e9, 26672.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -85) * 1e9, 25490.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -80) * 1e9, 24402.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -75) * 1e9, 23483, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -70) * 1e9, 22794.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -65) * 1e9, 22374.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -60) * 1e9, 22225.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -55) * 1e9, 22311, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -50) * 1e9, 22572.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -45) * 1e9, 22943.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -40) * 1e9, 23371.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -35) * 1e9, 23828.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -30) * 1e9, 24304.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -25) * 1e9, 24801.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -20) * 1e9, 25312.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -15) * 1e9, 25812.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -10) * 1e9, 26264.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -5) * 1e9, 26627.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 0) * 1e9, 26877.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 5) * 1e9, 27025, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 10) * 1e9, 27118.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 15) * 1e9, 27241.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 20) * 1e9, 27499.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 25) * 1e9, 28005.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 30) * 1e9, 28856.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 35) * 1e9, 30113.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 40) * 1e9, 31787.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 45) * 1e9, 33828.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 50) * 1e9, 36142.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 55) * 1e9, 38607, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 60) * 1e9, 41101.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 65) * 1e9, 43524.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 70) * 1e9, 45799.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 75) * 1e9, 47874.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 80) * 1e9, 49710.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 85) * 1e9, 51271.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 90) * 1e9, 52525.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 95) * 1e9, 53459.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 100) * 1e9, 54086.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 105) * 1e9, 54451.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 110) * 1e9, 54618.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 115) * 1e9, 54650.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 120) * 1e9, 54588.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 125) * 1e9, 54446, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 130) * 1e9, 54212.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 135) * 1e9, 53869.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 140) * 1e9, 53406.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 145) * 1e9, 52819.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 150) * 1e9, 52115.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 155) * 1e9, 51302.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 160) * 1e9, 50388.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 165) * 1e9, 49385.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 170) * 1e9, 48312.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 175) * 1e9, 47193.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 180) * 1e9, 46054, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -180) * 1e9, 43232.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -175) * 1e9, 42175, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -170) * 1e9, 41130.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -165) * 1e9, 40096.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -160) * 1e9, 39068.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -155) * 1e9, 38046.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -150) * 1e9, 37035.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -145) * 1e9, 36042.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -140) * 1e9, 35078.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -135) * 1e9, 34148.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -130) * 1e9, 33256.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -125) * 1e9, 32401.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -120) * 1e9, 31577.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -115) * 1e9, 30767.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -110) * 1e9, 29950.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -105) * 1e9, 29097.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -100) * 1e9, 28190.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -95) * 1e9, 27224.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -90) * 1e9, 26223.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -85) * 1e9, 25232.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -80) * 1e9, 24313.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -75) * 1e9, 23532.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -70) * 1e9, 22946.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -65) * 1e9, 22594.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -60) * 1e9, 22483.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -55) * 1e9, 22590, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -50) * 1e9, 22869, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -45) * 1e9, 23267.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -40) * 1e9, 23743.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -35) * 1e9, 24272.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -30) * 1e9, 24850.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -25) * 1e9, 25477.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -20) * 1e9, 26145.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -15) * 1e9, 26823.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -10) * 1e9, 27460.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -5) * 1e9, 28003.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 0) * 1e9, 28410, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 5) * 1e9, 28670.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 10) * 1e9, 28813, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 15) * 1e9, 28905.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 20) * 1e9, 29042.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 25) * 1e9, 29339.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 30) * 1e9, 29910, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 35) * 1e9, 30845, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 40) * 1e9, 32186.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 45) * 1e9, 33910.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 50) * 1e9, 35935.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 55) * 1e9, 38141.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 60) * 1e9, 40402.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 65) * 1e9, 42611.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 70) * 1e9, 44687.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 75) * 1e9, 46575.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 80) * 1e9, 48226.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 85) * 1e9, 49594.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 90) * 1e9, 50640.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 95) * 1e9, 51345.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 100) * 1e9, 51732, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 105) * 1e9, 51862.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 110) * 1e9, 51823, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 115) * 1e9, 51693.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 120) * 1e9, 51522.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 125) * 1e9, 51316.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 130) * 1e9, 51050.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 135) * 1e9, 50694.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 140) * 1e9, 50227.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 145) * 1e9, 49645.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 150) * 1e9, 48957.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 155) * 1e9, 48173.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 160) * 1e9, 47302.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 165) * 1e9, 46354, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 170) * 1e9, 45343.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 175) * 1e9, 44294.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 180) * 1e9, 43232.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -180) * 1e9, 40465.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -175) * 1e9, 39522.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -170) * 1e9, 38597.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -165) * 1e9, 37687.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -160) * 1e9, 36785.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -155) * 1e9, 35891.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -150) * 1e9, 35010.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -145) * 1e9, 34149.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -140) * 1e9, 33319.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -135) * 1e9, 32526.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -130) * 1e9, 31775.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -125) * 1e9, 31070.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -120) * 1e9, 30405.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -115) * 1e9, 29768.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -110) * 1e9, 29137.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -105) * 1e9, 28484.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -100) * 1e9, 27786.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -95) * 1e9, 27037.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -90) * 1e9, 26248.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -85) * 1e9, 25454.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -80) * 1e9, 24704.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -75) * 1e9, 24050.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -70) * 1e9, 23543.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -65) * 1e9, 23221, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -60) * 1e9, 23101.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -55) * 1e9, 23180, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -50) * 1e9, 23432.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -45) * 1e9, 23823.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -40) * 1e9, 24320, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -35) * 1e9, 24899.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -30) * 1e9, 25551.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -25) * 1e9, 26271.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -20) * 1e9, 27043, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -15) * 1e9, 27833.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -10) * 1e9, 28591.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -5) * 1e9, 29256.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 0) * 1e9, 29779.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 5) * 1e9, 30137.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 10) * 1e9, 30340.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 15) * 1e9, 30433.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 20) * 1e9, 30497.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 25) * 1e9, 30636.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 30) * 1e9, 30970.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 35) * 1e9, 31608.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 40) * 1e9, 32618, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 45) * 1e9, 34002.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 50) * 1e9, 35695.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 55) * 1e9, 37588, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 60) * 1e9, 39558.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 65) * 1e9, 41501.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 70) * 1e9, 43339.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 75) * 1e9, 45011.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 80) * 1e9, 46465.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 85) * 1e9, 47644.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 90) * 1e9, 48498.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 95) * 1e9, 49006.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 100) * 1e9, 49193.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 105) * 1e9, 49132.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 110) * 1e9, 48926.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 115) * 1e9, 48668.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 120) * 1e9, 48409.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 125) * 1e9, 48148.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 130) * 1e9, 47853.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 135) * 1e9, 47480, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 140) * 1e9, 47004.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 145) * 1e9, 46423.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 150) * 1e9, 45751.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 155) * 1e9, 45000.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 160) * 1e9, 44180.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 165) * 1e9, 43301.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 170) * 1e9, 42374.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 175) * 1e9, 41422.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 180) * 1e9, 40465.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -180) * 1e9, 37910.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -175) * 1e9, 37108.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -170) * 1e9, 36329.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -165) * 1e9, 35569.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -160) * 1e9, 34821.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -155) * 1e9, 34085.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -150) * 1e9, 33367.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -145) * 1e9, 32674.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -140) * 1e9, 32015.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -135) * 1e9, 31394.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -130) * 1e9, 30816.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -125) * 1e9, 30283.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -120) * 1e9, 29792.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -115) * 1e9, 29334.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -110) * 1e9, 28889.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -105) * 1e9, 28433.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -100) * 1e9, 27941.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -95) * 1e9, 27402, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -90) * 1e9, 26817, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -85) * 1e9, 26206.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -80) * 1e9, 25603.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -75) * 1e9, 25049.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -70) * 1e9, 24586.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -65) * 1e9, 24253.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -60) * 1e9, 24078.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -55) * 1e9, 24079.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -50) * 1e9, 24255.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -45) * 1e9, 24594.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -40) * 1e9, 25071.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -35) * 1e9, 25662.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -30) * 1e9, 26344.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -25) * 1e9, 27100.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -20) * 1e9, 27906.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -15) * 1e9, 28730.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -10) * 1e9, 29524.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -5) * 1e9, 30235.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 0) * 1e9, 30816.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 5) * 1e9, 31236.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 10) * 1e9, 31492.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 15) * 1e9, 31610.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 20) * 1e9, 31648.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 25) * 1e9, 31697.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 30) * 1e9, 31870.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 35) * 1e9, 32282.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 40) * 1e9, 33013.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 45) * 1e9, 34084.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 50) * 1e9, 35447.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 55) * 1e9, 37010.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 60) * 1e9, 38662.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 65) * 1e9, 40310.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 70) * 1e9, 41882, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 75) * 1e9, 43319.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 80) * 1e9, 44567.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 85) * 1e9, 45564.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 90) * 1e9, 46252.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 95) * 1e9, 46605.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 100) * 1e9, 46647.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 105) * 1e9, 46456.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 110) * 1e9, 46139.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 115) * 1e9, 45790.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 120) * 1e9, 45462, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 125) * 1e9, 45150, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 130) * 1e9, 44815.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 135) * 1e9, 44413.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 140) * 1e9, 43919.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 145) * 1e9, 43332.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 150) * 1e9, 42671.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 155) * 1e9, 41953.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 160) * 1e9, 41190.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 165) * 1e9, 40391, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 170) * 1e9, 39566.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 175) * 1e9, 38733.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 180) * 1e9, 37910.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -180) * 1e9, 35744, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -175) * 1e9, 35104.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -170) * 1e9, 34491, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -165) * 1e9, 33897.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -160) * 1e9, 33320.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -155) * 1e9, 32762.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -150) * 1e9, 32228.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -145) * 1e9, 31728.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -140) * 1e9, 31267, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -135) * 1e9, 30845.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -130) * 1e9, 30465, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -125) * 1e9, 30123.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -120) * 1e9, 29819.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -115) * 1e9, 29545.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -110) * 1e9, 29286.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -105) * 1e9, 29019.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -100) * 1e9, 28721.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -95) * 1e9, 28372.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -90) * 1e9, 27964.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -85) * 1e9, 27504.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -80) * 1e9, 27013.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -75) * 1e9, 26520.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -70) * 1e9, 26064.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -65) * 1e9, 25682.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -60) * 1e9, 25413.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -55) * 1e9, 25293.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -50) * 1e9, 25345.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -45) * 1e9, 25578.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -40) * 1e9, 25981.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -35) * 1e9, 26525.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -30) * 1e9, 27177.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -25) * 1e9, 27905.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -20) * 1e9, 28677.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -15) * 1e9, 29460.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -10) * 1e9, 30218.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -5) * 1e9, 30908, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 0) * 1e9, 31491.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 5) * 1e9, 31938, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 10) * 1e9, 32235.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 15) * 1e9, 32394.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 20) * 1e9, 32453.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 25) * 1e9, 32484.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 30) * 1e9, 32588.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 35) * 1e9, 32870.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 40) * 1e9, 33409.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 45) * 1e9, 34233.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 50) * 1e9, 35308.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 55) * 1e9, 36560.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 60) * 1e9, 37901, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 65) * 1e9, 39251.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 70) * 1e9, 40550.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 75) * 1e9, 41747.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 80) * 1e9, 42788.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 85) * 1e9, 43612.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 90) * 1e9, 44160.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 95) * 1e9, 44403, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 100) * 1e9, 44360.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 105) * 1e9, 44103.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 110) * 1e9, 43729.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 115) * 1e9, 43326.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 120) * 1e9, 42940.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 125) * 1e9, 42568.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 130) * 1e9, 42175.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 135) * 1e9, 41723.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 140) * 1e9, 41192.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 145) * 1e9, 40587.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 150) * 1e9, 39929.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 155) * 1e9, 39239.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 160) * 1e9, 38533.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 165) * 1e9, 37819.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 170) * 1e9, 37109.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 175) * 1e9, 36413.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 180) * 1e9, 35744, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -180) * 1e9, 34125.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -175) * 1e9, 33656.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -170) * 1e9, 33216.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -165) * 1e9, 32796.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -160) * 1e9, 32394.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -155) * 1e9, 32017.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -150) * 1e9, 31675.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -145) * 1e9, 31378.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -140) * 1e9, 31128.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -135) * 1e9, 30922, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -130) * 1e9, 30753.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -125) * 1e9, 30617.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -120) * 1e9, 30509, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -115) * 1e9, 30423.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -110) * 1e9, 30347.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -105) * 1e9, 30260.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -100) * 1e9, 30135.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -95) * 1e9, 29947.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -90) * 1e9, 29677.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -85) * 1e9, 29323.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -80) * 1e9, 28897.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -75) * 1e9, 28425.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -70) * 1e9, 27940.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -65) * 1e9, 27482.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -60) * 1e9, 27095.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -55) * 1e9, 26826, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -50) * 1e9, 26718.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -45) * 1e9, 26799.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -40) * 1e9, 27070.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -35) * 1e9, 27505.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -30) * 1e9, 28063.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -25) * 1e9, 28702.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -20) * 1e9, 29385.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -15) * 1e9, 30079.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -10) * 1e9, 30756.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -5) * 1e9, 31385.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 0) * 1e9, 31938.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 5) * 1e9, 32389.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 10) * 1e9, 32721.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 15) * 1e9, 32934.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 20) * 1e9, 33053.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 25) * 1e9, 33133.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 30) * 1e9, 33256.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 35) * 1e9, 33507, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 40) * 1e9, 33950.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 45) * 1e9, 34610.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 50) * 1e9, 35461.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 55) * 1e9, 36451, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 60) * 1e9, 37513.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 65) * 1e9, 38590.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 70) * 1e9, 39636.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 75) * 1e9, 40607.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 80) * 1e9, 41453.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 85) * 1e9, 42119.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 90) * 1e9, 42552.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 95) * 1e9, 42723.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 100) * 1e9, 42646.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 105) * 1e9, 42376.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 110) * 1e9, 41989.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 115) * 1e9, 41554.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 120) * 1e9, 41111.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 125) * 1e9, 40660.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 130) * 1e9, 40180.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 135) * 1e9, 39648.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 140) * 1e9, 39054.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 145) * 1e9, 38410.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 150) * 1e9, 37740.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 155) * 1e9, 37067.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 160) * 1e9, 36409.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 165) * 1e9, 35778.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 170) * 1e9, 35183.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 175) * 1e9, 34632.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 180) * 1e9, 34125.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -180) * 1e9, 33148.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -175) * 1e9, 32844.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -170) * 1e9, 32570.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -165) * 1e9, 32315.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -160) * 1e9, 32081.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -155) * 1e9, 31879.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -150) * 1e9, 31724.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -145) * 1e9, 31627.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -140) * 1e9, 31589.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -135) * 1e9, 31601.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -130) * 1e9, 31650.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -125) * 1e9, 31724.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -120) * 1e9, 31817.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -115) * 1e9, 31922.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -110) * 1e9, 32025.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -105) * 1e9, 32105, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -100) * 1e9, 32130, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -95) * 1e9, 32067.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -90) * 1e9, 31893.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -85) * 1e9, 31599.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -80) * 1e9, 31195.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -75) * 1e9, 30706.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -70) * 1e9, 30166.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -65) * 1e9, 29614.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -60) * 1e9, 29098.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -55) * 1e9, 28674.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -50) * 1e9, 28395.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -45) * 1e9, 28302, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -40) * 1e9, 28404.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -35) * 1e9, 28683, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -30) * 1e9, 29098.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -25) * 1e9, 29606.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -20) * 1e9, 30166.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -15) * 1e9, 30750.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -10) * 1e9, 31335.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -5) * 1e9, 31897.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 0) * 1e9, 32415.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 5) * 1e9, 32866.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 10) * 1e9, 33232, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 15) * 1e9, 33508.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 20) * 1e9, 33714.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 25) * 1e9, 33890.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 30) * 1e9, 34097, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 35) * 1e9, 34394.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 40) * 1e9, 34824.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 45) * 1e9, 35397.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 50) * 1e9, 36095.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 55) * 1e9, 36883, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 60) * 1e9, 37720.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 65) * 1e9, 38572.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 70) * 1e9, 39406.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 75) * 1e9, 40184.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 80) * 1e9, 40864.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 85) * 1e9, 41398.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 90) * 1e9, 41742.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 95) * 1e9, 41872.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 100) * 1e9, 41794.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 105) * 1e9, 41541.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 110) * 1e9, 41162.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 115) * 1e9, 40703.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 120) * 1e9, 40193, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 125) * 1e9, 39639.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 130) * 1e9, 39039.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 135) * 1e9, 38391.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 140) * 1e9, 37702.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 145) * 1e9, 36991.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 150) * 1e9, 36284.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 155) * 1e9, 35606.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 160) * 1e9, 34977.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 165) * 1e9, 34412.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 170) * 1e9, 33920.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 175) * 1e9, 33502.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 180) * 1e9, 33148.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -180) * 1e9, 32831.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -175) * 1e9, 32666, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -170) * 1e9, 32537.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -165) * 1e9, 32431.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -160) * 1e9, 32350, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -155) * 1e9, 32309.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -150) * 1e9, 32328.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -145) * 1e9, 32420.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -140) * 1e9, 32584.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -135) * 1e9, 32807.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -130) * 1e9, 33069.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -125) * 1e9, 33353.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -120) * 1e9, 33647.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -115) * 1e9, 33939.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -110) * 1e9, 34214.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -105) * 1e9, 34445.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -100) * 1e9, 34597.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -95) * 1e9, 34631.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -90) * 1e9, 34519.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -85) * 1e9, 34250.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -80) * 1e9, 33836.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -75) * 1e9, 33302.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -70) * 1e9, 32686.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -65) * 1e9, 32031.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -60) * 1e9, 31391.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -55) * 1e9, 30823.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -50) * 1e9, 30387.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -45) * 1e9, 30127.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -40) * 1e9, 30058.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -35) * 1e9, 30168.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -30) * 1e9, 30422.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -25) * 1e9, 30781.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -20) * 1e9, 31212, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -15) * 1e9, 31688.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -10) * 1e9, 32192.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -5) * 1e9, 32704.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 0) * 1e9, 33200.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 5) * 1e9, 33659, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 10) * 1e9, 34061.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 15) * 1e9, 34405.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 20) * 1e9, 34706.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 25) * 1e9, 34996.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 30) * 1e9, 35317.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 35) * 1e9, 35702.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 40) * 1e9, 36168.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 45) * 1e9, 36712.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 50) * 1e9, 37317, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 55) * 1e9, 37965.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 60) * 1e9, 38640.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 65) * 1e9, 39326.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 70) * 1e9, 40003.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 75) * 1e9, 40640.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 80) * 1e9, 41198.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 85) * 1e9, 41638.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 90) * 1e9, 41925.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 95) * 1e9, 42039, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 100) * 1e9, 41976.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 105) * 1e9, 41749.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 110) * 1e9, 41380.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 115) * 1e9, 40890.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 120) * 1e9, 40298.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 125) * 1e9, 39620.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 130) * 1e9, 38872.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 135) * 1e9, 38077.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 140) * 1e9, 37259.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 145) * 1e9, 36447.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 150) * 1e9, 35671.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 155) * 1e9, 34957.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 160) * 1e9, 34327.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 165) * 1e9, 33797.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 170) * 1e9, 33375.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 175) * 1e9, 33059.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 180) * 1e9, 32831.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -180) * 1e9, 33135, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -175) * 1e9, 33069.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -170) * 1e9, 33054.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -165) * 1e9, 33072.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -160) * 1e9, 33126.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -155) * 1e9, 33231.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -150) * 1e9, 33410.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -145) * 1e9, 33675.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -140) * 1e9, 34025.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -135) * 1e9, 34444, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -130) * 1e9, 34906, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -125) * 1e9, 35388.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -120) * 1e9, 35872.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -115) * 1e9, 36342.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -110) * 1e9, 36777.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -105) * 1e9, 37145.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -100) * 1e9, 37405.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -95) * 1e9, 37515.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -90) * 1e9, 37445.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -85) * 1e9, 37183.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -80) * 1e9, 36742.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -75) * 1e9, 36150.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -70) * 1e9, 35450.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -65) * 1e9, 34693.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -60) * 1e9, 33939.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -55) * 1e9, 33250.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -50) * 1e9, 32686, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -45) * 1e9, 32289.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -40) * 1e9, 32075.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -35) * 1e9, 32035.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -30) * 1e9, 32141.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -25) * 1e9, 32362, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -20) * 1e9, 32673.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -15) * 1e9, 33058.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -10) * 1e9, 33500.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -5) * 1e9, 33980.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 0) * 1e9, 34472, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 5) * 1e9, 34947.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 10) * 1e9, 35388.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 15) * 1e9, 35794, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 20) * 1e9, 36179.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 25) * 1e9, 36573.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 30) * 1e9, 37000.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 35) * 1e9, 37474.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 40) * 1e9, 37991.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 45) * 1e9, 38536.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 50) * 1e9, 39094, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 55) * 1e9, 39659.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 60) * 1e9, 40234.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 65) * 1e9, 40818.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 70) * 1e9, 41400, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 75) * 1e9, 41954, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 80) * 1e9, 42445.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 85) * 1e9, 42838.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 90) * 1e9, 43104.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 95) * 1e9, 43222.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 100) * 1e9, 43183.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 105) * 1e9, 42980.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 110) * 1e9, 42612.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 115) * 1e9, 42082, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 120) * 1e9, 41398.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 125) * 1e9, 40586.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 130) * 1e9, 39677.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 135) * 1e9, 38716, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 140) * 1e9, 37743.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 145) * 1e9, 36801.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 150) * 1e9, 35924.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 155) * 1e9, 35139.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 160) * 1e9, 34471.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 165) * 1e9, 33936.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 170) * 1e9, 33541.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 175) * 1e9, 33281.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 180) * 1e9, 33135, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -180) * 1e9, 34001.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -175) * 1e9, 33990.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -170) * 1e9, 34052.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -165) * 1e9, 34169, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -160) * 1e9, 34338.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -155) * 1e9, 34575.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -150) * 1e9, 34899.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -145) * 1e9, 35321.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -140) * 1e9, 35837.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -135) * 1e9, 36428.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -130) * 1e9, 37066.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -125) * 1e9, 37724.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -120) * 1e9, 38377.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -115) * 1e9, 39005.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -110) * 1e9, 39579.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -105) * 1e9, 40065.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -100) * 1e9, 40417.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -95) * 1e9, 40591.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -90) * 1e9, 40555.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -85) * 1e9, 40296.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -80) * 1e9, 39827.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -75) * 1e9, 39180.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -70) * 1e9, 38403.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -65) * 1e9, 37555.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -60) * 1e9, 36704.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -55) * 1e9, 35918.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -50) * 1e9, 35257.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -45) * 1e9, 34759.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -40) * 1e9, 34437.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -35) * 1e9, 34280.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -30) * 1e9, 34267, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -25) * 1e9, 34373.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -20) * 1e9, 34586.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -15) * 1e9, 34895.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -10) * 1e9, 35289.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -5) * 1e9, 35747.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 0) * 1e9, 36239.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 5) * 1e9, 36732.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 10) * 1e9, 37205.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 15) * 1e9, 37657.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 20) * 1e9, 38104.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 25) * 1e9, 38570.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 30) * 1e9, 39071.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 35) * 1e9, 39608.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 40) * 1e9, 40166, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 45) * 1e9, 40722.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 50) * 1e9, 41266.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 55) * 1e9, 41799.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 60) * 1e9, 42332.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 65) * 1e9, 42874.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 70) * 1e9, 43421.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 75) * 1e9, 43950.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 80) * 1e9, 44428.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 85) * 1e9, 44821.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 90) * 1e9, 45101.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 95) * 1e9, 45245.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 100) * 1e9, 45234.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 105) * 1e9, 45051.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 110) * 1e9, 44676.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 115) * 1e9, 44100.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 120) * 1e9, 43329.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 125) * 1e9, 42389.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 130) * 1e9, 41327.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 135) * 1e9, 40200.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 140) * 1e9, 39068.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 145) * 1e9, 37982.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 150) * 1e9, 36983.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 155) * 1e9, 36102, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 160) * 1e9, 35362.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 165) * 1e9, 34783.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 170) * 1e9, 34370.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 175) * 1e9, 34117.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 180) * 1e9, 34001.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -180) * 1e9, 35380, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -175) * 1e9, 35381.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -170) * 1e9, 35486.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -165) * 1e9, 35673.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -160) * 1e9, 35940.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -155) * 1e9, 36295, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -150) * 1e9, 36750.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -145) * 1e9, 37311.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -140) * 1e9, 37971, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -135) * 1e9, 38706.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -130) * 1e9, 39488.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -125) * 1e9, 40288, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -120) * 1e9, 41076.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -115) * 1e9, 41828.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -110) * 1e9, 42512.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -105) * 1e9, 43088.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -100) * 1e9, 43512.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -95) * 1e9, 43738.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -90) * 1e9, 43733.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -85) * 1e9, 43482.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -80) * 1e9, 42996.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -75) * 1e9, 42310.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -70) * 1e9, 41474.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -65) * 1e9, 40558.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -60) * 1e9, 39634.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -55) * 1e9, 38775.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -50) * 1e9, 38041.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -45) * 1e9, 37467.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -40) * 1e9, 37064.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -35) * 1e9, 36819.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -30) * 1e9, 36712.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -25) * 1e9, 36728.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -20) * 1e9, 36860.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -15) * 1e9, 37104, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -10) * 1e9, 37452.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -5) * 1e9, 37883.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 0) * 1e9, 38366.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 5) * 1e9, 38864.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 10) * 1e9, 39353.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 15) * 1e9, 39830.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 20) * 1e9, 40309.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 25) * 1e9, 40809.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 30) * 1e9, 41344.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 35) * 1e9, 41910, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 40) * 1e9, 42489, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 45) * 1e9, 43061, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 50) * 1e9, 43615.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 55) * 1e9, 44157.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 60) * 1e9, 44701.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 65) * 1e9, 45258.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 70) * 1e9, 45823.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 75) * 1e9, 46376.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 80) * 1e9, 46885.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 85) * 1e9, 47316.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 90) * 1e9, 47638, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 95) * 1e9, 47823.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 100) * 1e9, 47846.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 105) * 1e9, 47679, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 110) * 1e9, 47295.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 115) * 1e9, 46679.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 120) * 1e9, 45835.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 125) * 1e9, 44792.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 130) * 1e9, 43605.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 135) * 1e9, 42340.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 140) * 1e9, 41067.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 145) * 1e9, 39847.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 150) * 1e9, 38726.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 155) * 1e9, 37741, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 160) * 1e9, 36914.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 165) * 1e9, 36264.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 170) * 1e9, 35797.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 175) * 1e9, 35509.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 180) * 1e9, 35380, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -180) * 1e9, 37235.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -175) * 1e9, 37219.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -170) * 1e9, 37337.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -165) * 1e9, 37571.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -160) * 1e9, 37916, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -155) * 1e9, 38371.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -150) * 1e9, 38940.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -145) * 1e9, 39619.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -140) * 1e9, 40395, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -135) * 1e9, 41242, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -130) * 1e9, 42130, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -125) * 1e9, 43028, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -120) * 1e9, 43907.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -115) * 1e9, 44738.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -110) * 1e9, 45490.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -105) * 1e9, 46122.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -100) * 1e9, 46589.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -95) * 1e9, 46849.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -90) * 1e9, 46866.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -85) * 1e9, 46627.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -80) * 1e9, 46139.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -75) * 1e9, 45436.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -70) * 1e9, 44571.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -65) * 1e9, 43615.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -60) * 1e9, 42646.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -55) * 1e9, 41737.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -50) * 1e9, 40948.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -45) * 1e9, 40312.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -40) * 1e9, 39840.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -35) * 1e9, 39520.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -30) * 1e9, 39335.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -25) * 1e9, 39274.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -20) * 1e9, 39334.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -15) * 1e9, 39514.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -10) * 1e9, 39808.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -5) * 1e9, 40198.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 0) * 1e9, 40651.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 5) * 1e9, 41132.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 10) * 1e9, 41615.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 15) * 1e9, 42092.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 20) * 1e9, 42573.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 25) * 1e9, 43076.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 30) * 1e9, 43612.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 35) * 1e9, 44179.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 40) * 1e9, 44765.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 45) * 1e9, 45354.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 50) * 1e9, 45940.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 55) * 1e9, 46527.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 60) * 1e9, 47124.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 65) * 1e9, 47739.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 70) * 1e9, 48365.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 75) * 1e9, 48980, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 80) * 1e9, 49551.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 85) * 1e9, 50043.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 90) * 1e9, 50421.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 95) * 1e9, 50655.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 100) * 1e9, 50712, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 105) * 1e9, 50560.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 110) * 1e9, 50171.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 115) * 1e9, 49528.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 120) * 1e9, 48637.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 125) * 1e9, 47529.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 130) * 1e9, 46261.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 135) * 1e9, 44904.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 140) * 1e9, 43533.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 145) * 1e9, 42214.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 150) * 1e9, 40999.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 155) * 1e9, 39924.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 160) * 1e9, 39015.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 165) * 1e9, 38289, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 170) * 1e9, 37753.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 175) * 1e9, 37406.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 180) * 1e9, 37235.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -180) * 1e9, 39535.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -175) * 1e9, 39488.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -170) * 1e9, 39602.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -165) * 1e9, 39862.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -160) * 1e9, 40262, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -155) * 1e9, 40793, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -150) * 1e9, 41448.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -145) * 1e9, 42214.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -140) * 1e9, 43071.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -135) * 1e9, 43989.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -130) * 1e9, 44937.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -125) * 1e9, 45885.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -120) * 1e9, 46804.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -115) * 1e9, 47664.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -110) * 1e9, 48434.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -105) * 1e9, 49078.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -100) * 1e9, 49552.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -95) * 1e9, 49819.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -90) * 1e9, 49845.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -85) * 1e9, 49615.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -80) * 1e9, 49137.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -75) * 1e9, 48440, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -70) * 1e9, 47576.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -65) * 1e9, 46613.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -60) * 1e9, 45628.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -55) * 1e9, 44693.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -50) * 1e9, 43864.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -45) * 1e9, 43175.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -40) * 1e9, 42638.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -35) * 1e9, 42246.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -30) * 1e9, 41987.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -25) * 1e9, 41852.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -20) * 1e9, 41840.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -15) * 1e9, 41951.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -10) * 1e9, 42180.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -5) * 1e9, 42508.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 0) * 1e9, 42908.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 5) * 1e9, 43346, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 10) * 1e9, 43796.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 15) * 1e9, 44251, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 20) * 1e9, 44713.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 25) * 1e9, 45197.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 30) * 1e9, 45716.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 35) * 1e9, 46271.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 40) * 1e9, 46860.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 45) * 1e9, 47473.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 50) * 1e9, 48106.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 55) * 1e9, 48761, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 60) * 1e9, 49440.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 65) * 1e9, 50142, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 70) * 1e9, 50853.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 75) * 1e9, 51550.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 80) * 1e9, 52198.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 85) * 1e9, 52759.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 90) * 1e9, 53196.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 95) * 1e9, 53476.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 100) * 1e9, 53562.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 105) * 1e9, 53425.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 110) * 1e9, 53036.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 115) * 1e9, 52385.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 120) * 1e9, 51478.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 125) * 1e9, 50350.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 130) * 1e9, 49056.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 135) * 1e9, 47667.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 140) * 1e9, 46258.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 145) * 1e9, 44895.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 150) * 1e9, 43631.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 155) * 1e9, 42504.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 160) * 1e9, 41540.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 165) * 1e9, 40756.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 170) * 1e9, 40160.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 175) * 1e9, 39755.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 180) * 1e9, 39535.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -180) * 1e9, 42227.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -175) * 1e9, 42153.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -170) * 1e9, 42255.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -165) * 1e9, 42524.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -160) * 1e9, 42950.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -155) * 1e9, 43522.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -150) * 1e9, 44223.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -145) * 1e9, 45032.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -140) * 1e9, 45921.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -135) * 1e9, 46861.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -130) * 1e9, 47818.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -125) * 1e9, 48763.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -120) * 1e9, 49668, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -115) * 1e9, 50504.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -110) * 1e9, 51243.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -105) * 1e9, 51852.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -100) * 1e9, 52295.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -95) * 1e9, 52538.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -90) * 1e9, 52553.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -85) * 1e9, 52326.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -80) * 1e9, 51864.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -75) * 1e9, 51191.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -70) * 1e9, 50356.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -65) * 1e9, 49419.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -60) * 1e9, 48449.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -55) * 1e9, 47512.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -50) * 1e9, 46661.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -45) * 1e9, 45930.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -40) * 1e9, 45334.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -35) * 1e9, 44872.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -30) * 1e9, 44539.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -25) * 1e9, 44330.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -20) * 1e9, 44243.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -15) * 1e9, 44278.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -10) * 1e9, 44428.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -5) * 1e9, 44677.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 0) * 1e9, 45002.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 5) * 1e9, 45375.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 10) * 1e9, 45773.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 15) * 1e9, 46186.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 20) * 1e9, 46617.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 25) * 1e9, 47075.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 30) * 1e9, 47572.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 35) * 1e9, 48118.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 40) * 1e9, 48713.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 45) * 1e9, 49357.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 50) * 1e9, 50046.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 55) * 1e9, 50778.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 60) * 1e9, 51548.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 65) * 1e9, 52345.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 70) * 1e9, 53148.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 75) * 1e9, 53929.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 80) * 1e9, 54650.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 85) * 1e9, 55273.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 90) * 1e9, 55760.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 95) * 1e9, 56075.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 100) * 1e9, 56185.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 105) * 1e9, 56061, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 110) * 1e9, 55682.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 115) * 1e9, 55042.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 120) * 1e9, 54154.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 125) * 1e9, 53052, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 130) * 1e9, 51789.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 135) * 1e9, 50433.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 140) * 1e9, 49052.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 145) * 1e9, 47709.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 150) * 1e9, 46456.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 155) * 1e9, 45330.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 160) * 1e9, 44356.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 165) * 1e9, 43551.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 170) * 1e9, 42925.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 175) * 1e9, 42483.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 180) * 1e9, 42227.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -180) * 1e9, 45210.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -175) * 1e9, 45122.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -170) * 1e9, 45211.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -165) * 1e9, 45471.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -160) * 1e9, 45892.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -155) * 1e9, 46459.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -150) * 1e9, 47153.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -145) * 1e9, 47946.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -140) * 1e9, 48810.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -135) * 1e9, 49713, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -130) * 1e9, 50622.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -125) * 1e9, 51509.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -120) * 1e9, 52347.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -115) * 1e9, 53111.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -110) * 1e9, 53775.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -105) * 1e9, 54310.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -100) * 1e9, 54688.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -95) * 1e9, 54882.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -90) * 1e9, 54869, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -85) * 1e9, 54638.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -80) * 1e9, 54196, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -75) * 1e9, 53563.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -70) * 1e9, 52779.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -65) * 1e9, 51895.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -60) * 1e9, 50970.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -55) * 1e9, 50059.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -50) * 1e9, 49210.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -45) * 1e9, 48456.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -40) * 1e9, 47815.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -35) * 1e9, 47295, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -30) * 1e9, 46894.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -25) * 1e9, 46613, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -20) * 1e9, 46449.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -15) * 1e9, 46403.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -10) * 1e9, 46466.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -5) * 1e9, 46626.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 0) * 1e9, 46864, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 5) * 1e9, 47158.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 10) * 1e9, 47491.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 15) * 1e9, 47855, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 20) * 1e9, 48249.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 25) * 1e9, 48682.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 30) * 1e9, 49166.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 35) * 1e9, 49710, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 40) * 1e9, 50320.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 45) * 1e9, 50998.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 50) * 1e9, 51742.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 55) * 1e9, 52545.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 60) * 1e9, 53395.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 65) * 1e9, 54272.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 70) * 1e9, 55150.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 75) * 1e9, 55995.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 80) * 1e9, 56770.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 85) * 1e9, 57435.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 90) * 1e9, 57954.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 95) * 1e9, 58290.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 100) * 1e9, 58416.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 105) * 1e9, 58307, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 110) * 1e9, 57950.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 115) * 1e9, 57346.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 120) * 1e9, 56511.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 125) * 1e9, 55481, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 130) * 1e9, 54304.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 135) * 1e9, 53040.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 140) * 1e9, 51751.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 145) * 1e9, 50493.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 150) * 1e9, 49313.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 155) * 1e9, 48245, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 160) * 1e9, 47313.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 165) * 1e9, 46534.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 170) * 1e9, 45920.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 175) * 1e9, 45477.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 180) * 1e9, 45210.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -180) * 1e9, 48313, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -175) * 1e9, 48223.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -170) * 1e9, 48297.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -165) * 1e9, 48529.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -160) * 1e9, 48910.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -155) * 1e9, 49426, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -150) * 1e9, 50054.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -145) * 1e9, 50771.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -140) * 1e9, 51547.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -135) * 1e9, 52351.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -130) * 1e9, 53156.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -125) * 1e9, 53933.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -120) * 1e9, 54659.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -115) * 1e9, 55310.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -110) * 1e9, 55865, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -105) * 1e9, 56299.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -100) * 1e9, 56591.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -95) * 1e9, 56720, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -90) * 1e9, 56670, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -85) * 1e9, 56434.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -80) * 1e9, 56017.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -75) * 1e9, 55437, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -70) * 1e9, 54723.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -65) * 1e9, 53917.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -60) * 1e9, 53065.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -55) * 1e9, 52210.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -50) * 1e9, 51394.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -45) * 1e9, 50646.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -40) * 1e9, 49987.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -35) * 1e9, 49429.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -30) * 1e9, 48977.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -25) * 1e9, 48634.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -20) * 1e9, 48401.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -15) * 1e9, 48276.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -10) * 1e9, 48254.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -5) * 1e9, 48324.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 0) * 1e9, 48474.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 5) * 1e9, 48688.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 10) * 1e9, 48955.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 15) * 1e9, 49269.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 20) * 1e9, 49630.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 25) * 1e9, 50045.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 30) * 1e9, 50523.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 35) * 1e9, 51073.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 40) * 1e9, 51702.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 45) * 1e9, 52410.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 50) * 1e9, 53195.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 55) * 1e9, 54044.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 60) * 1e9, 54942.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 65) * 1e9, 55864.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 70) * 1e9, 56780.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 75) * 1e9, 57654.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 80) * 1e9, 58449.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 85) * 1e9, 59127.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 90) * 1e9, 59653.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 95) * 1e9, 59996.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 100) * 1e9, 60132.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 105) * 1e9, 60044.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 110) * 1e9, 59726.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 115) * 1e9, 59185, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 120) * 1e9, 58439, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 125) * 1e9, 57522.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 130) * 1e9, 56478.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 135) * 1e9, 55359.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 140) * 1e9, 54216.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 145) * 1e9, 53098.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 150) * 1e9, 52044.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 155) * 1e9, 51085.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 160) * 1e9, 50244.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 165) * 1e9, 49537.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 170) * 1e9, 48974.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 175) * 1e9, 48564.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 180) * 1e9, 48313, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -180) * 1e9, 51299.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -175) * 1e9, 51214.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -170) * 1e9, 51266.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -165) * 1e9, 51451.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -160) * 1e9, 51761.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -155) * 1e9, 52182.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -150) * 1e9, 52697.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -145) * 1e9, 53284.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -140) * 1e9, 53918.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -135) * 1e9, 54573.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -130) * 1e9, 55226.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -125) * 1e9, 55852.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -120) * 1e9, 56431, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -115) * 1e9, 56941.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -110) * 1e9, 57365.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -105) * 1e9, 57684.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -100) * 1e9, 57882.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -95) * 1e9, 57943.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -90) * 1e9, 57858.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -85) * 1e9, 57622.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -80) * 1e9, 57240.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -75) * 1e9, 56724.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -70) * 1e9, 56098.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -65) * 1e9, 55391.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -60) * 1e9, 54636.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -55) * 1e9, 53868.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -50) * 1e9, 53118, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -45) * 1e9, 52412.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -40) * 1e9, 51771.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -35) * 1e9, 51208.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -30) * 1e9, 50734.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -25) * 1e9, 50353.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -20) * 1e9, 50069.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -15) * 1e9, 49882.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -10) * 1e9, 49788.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -5) * 1e9, 49781.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 0) * 1e9, 49854.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 5) * 1e9, 49999.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 10) * 1e9, 50209.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 15) * 1e9, 50480.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 20) * 1e9, 50815, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 25) * 1e9, 51216.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 30) * 1e9, 51691.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 35) * 1e9, 52246.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 40) * 1e9, 52884, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 45) * 1e9, 53603.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 50) * 1e9, 54399, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 55) * 1e9, 55256.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 60) * 1e9, 56156.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 65) * 1e9, 57073, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 70) * 1e9, 57975.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 75) * 1e9, 58831.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 80) * 1e9, 59603.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 85) * 1e9, 60259.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 90) * 1e9, 60768.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 95) * 1e9, 61104.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 100) * 1e9, 61249, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 105) * 1e9, 61192, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 110) * 1e9, 60932.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 115) * 1e9, 60480, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 120) * 1e9, 59854.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 125) * 1e9, 59087.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 130) * 1e9, 58214.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 135) * 1e9, 57278.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 140) * 1e9, 56321.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 145) * 1e9, 55381.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 150) * 1e9, 54492.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 155) * 1e9, 53681, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 160) * 1e9, 52965.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 165) * 1e9, 52361, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 170) * 1e9, 51877.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 175) * 1e9, 51521.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 180) * 1e9, 51299.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -180) * 1e9, 53914.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -175) * 1e9, 53829.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -170) * 1e9, 53849.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -165) * 1e9, 53971, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -160) * 1e9, 54187.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -155) * 1e9, 54487.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -150) * 1e9, 54858.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -145) * 1e9, 55283.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -140) * 1e9, 55743.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -135) * 1e9, 56219.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -130) * 1e9, 56692.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -125) * 1e9, 57144.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -120) * 1e9, 57556.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -115) * 1e9, 57913.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -110) * 1e9, 58200.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -105) * 1e9, 58403.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -100) * 1e9, 58510.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -95) * 1e9, 58511.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -90) * 1e9, 58399.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -85) * 1e9, 58172.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -80) * 1e9, 57834.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -75) * 1e9, 57394.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -70) * 1e9, 56867.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -65) * 1e9, 56274.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -60) * 1e9, 55638.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -55) * 1e9, 54982.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -50) * 1e9, 54330.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -45) * 1e9, 53704.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -40) * 1e9, 53121.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -35) * 1e9, 52594.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -30) * 1e9, 52135.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -25) * 1e9, 51752.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -20) * 1e9, 51449.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -15) * 1e9, 51228.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -10) * 1e9, 51089.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -5) * 1e9, 51032.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 0) * 1e9, 51052.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 5) * 1e9, 51147.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 10) * 1e9, 51315, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 15) * 1e9, 51553.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 20) * 1e9, 51864.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 25) * 1e9, 52250.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 30) * 1e9, 52714.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 35) * 1e9, 53257.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 40) * 1e9, 53880.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 45) * 1e9, 54578.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 50) * 1e9, 55342.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 55) * 1e9, 56158.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 60) * 1e9, 57005.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 65) * 1e9, 57860.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 70) * 1e9, 58695.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 75) * 1e9, 59480.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 80) * 1e9, 60187.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 85) * 1e9, 60786.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 90) * 1e9, 61254.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 95) * 1e9, 61571.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 100) * 1e9, 61725.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 105) * 1e9, 61708.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 110) * 1e9, 61524.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 115) * 1e9, 61183.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 120) * 1e9, 60703.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 125) * 1e9, 60109.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 130) * 1e9, 59431.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 135) * 1e9, 58701.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 140) * 1e9, 57951.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 145) * 1e9, 57211, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 150) * 1e9, 56506.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 155) * 1e9, 55858.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 160) * 1e9, 55284.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 165) * 1e9, 54795.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 170) * 1e9, 54400.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 175) * 1e9, 54105.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 180) * 1e9, 53914.6, 145 + 500);
}
